Новости Joomla

Перевод и публикация интервью на греческом портале Joomla Утро, просматриваешь входящие письма и...

Перевод и публикация интервью на греческом портале Joomla 🇬🇷Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции.Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью. Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент. 🇬🇷 Интервью на греческом портале (joomla.gr)🌐 Оригинальное интервью (на английском)Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 1334 Просмотров
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Добрый день. Сделала страницу-заставку index.html вместо главной. Но когда пользователь попадает-таки на сайт, уже не нужно, чтобы вместо Главной была заставка, а нужно, чтобы в меню была нормальная Главная. Если я сделаю тайную главную (в скрытом меню), на которую ниоткуда перехода не будет, а пункт меню главная будет, например www.domen.ru/hello.php, это нормально?  Или поисковики будут сильно недовольны? Зачем я это сделала - не спрашивайте. Такой проект.
Fatal error - это не фатально!!! Я проверила.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Страница-заставка и главная
« Ответ #1 : 09.11.2015, 19:14:46 »
Ничего не понял. Суть в том, чтобы пользователю при первом посещении показывать один раз некую приветственную страницу, далее он при заходе попадает уже на сайт, мимо неё?
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Страница-заставка и главная
« Ответ #2 : 09.11.2015, 19:33:37 »
Ну да. По сути, на сайте две главных - хтмл-заставка и обычная главная Joomla. Заставка нужна для первого захода для первого впечатления. Потом попадаешь на сайт, там своя, джумловская главная. Но, когда кликаешь в меня на главную, происходит переадресация опять на заставку. Вот этого хочу избежать
Fatal error - это не фатально!!! Я проверила.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Страница-заставка и главная
« Ответ #3 : 09.11.2015, 19:38:55 »
Тут много решений. Я бы сделал так:
1. В индексном файле шаблона или подключил бы подшалоны для контента главной и заглушки, или прям в коде развёл условием: если в кукисах есть такое-то значение, то выводить сайт, иначе выводить разметку приверственной.
2. Далее или средствами PHP или средствами js записывал бы это значение в куки при первом посещении страницы. Всё.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Страница-заставка и главная
« Ответ #4 : 09.11.2015, 19:51:22 »
В корневом index.php
Код
if (!isset($_COOKIE['cookiename'])) {

if ($_SERVER['URI']=='') {

include_once('index-true.html');
exit;
}
 else
{

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.pro/");
exit;

}
}
Ну и при посещении заставки ставим куку.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Страница-заставка и главная
« Ответ #5 : 09.11.2015, 19:57:21 »
Ну Валанд, по сути, это и написал. Только с дополнительным файлом. Готовое решение.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Страница-заставка и главная
« Ответ #6 : 09.11.2015, 20:21:14 »
А в htaccess тогда ничего не писать?
Fatal error - это не фатально!!! Я проверила.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Страница-заставка и главная
« Ответ #7 : 09.11.2015, 20:26:14 »
Ничего не писать.
Только не забудьте после просмотра заставки добавить куку, например так
Код
<?php 
header("Content-Type: text/html; charset=utf-8");
setcookie("cookiename", '000', time()+360000);
?>
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Страница-заставка и главная
« Ответ #8 : 09.11.2015, 20:29:51 »
когда кликаешь в меня
;D
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Страница-заставка и главная
« Ответ #9 : 09.11.2015, 22:36:57 »
Там  этих, блин, заставок не одна, а три! Поэтапное такое вхождение в сайт) Ладно... Спасибо большое! Завтра разберусь с этим.
Fatal error - это не фатально!!! Я проверила.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Страница-заставка и главная
« Ответ #10 : 09.11.2015, 22:39:22 »
Поэтапное такое вхождение в сайт)
Предварительное я б сказал..
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Страница-заставка и главная
« Ответ #11 : 09.11.2015, 22:57:39 »
Там  этих, блин, заставок не одна, а три! Поэтапное такое вхождение в сайт) Ладно... Спасибо большое! Завтра разберусь с этим.
Следует сразу всю задачу описывать. Для трёх не сложнее делается.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Страница-заставка и главная
« Ответ #12 : 10.11.2015, 13:34:10 »
Я вот так написала в индексе шаблона
Код
<?php
if (!isset($_COOKIE['cookiename'])) {

if ($_SERVER['URI']=='') {

include_once('hallo.html');

setcookie("cookiename", '000', time()+360000);

exit;
}
 else
{

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://anti-dieta.club/");
exit;

}
}

Работает. Даже не верится! Вот это выкинула:
Код
header("Content-Type: text/html; charset=utf-8");
браузер сказал: ошибка. Я сначала хотела вставить этот код
 
Код
<?php 
header("Content-Type: text/html; charset=utf-8");
setcookie("cookiename", '000', time()+360000);
?>

в файл третьего шага своей многоэтапной заставки, но не сработало. А в индексе шаблона все великолепно получилось. Спасибо, ребята!
Fatal error - это не фатально!!! Я проверила.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Страница-заставка и главная
« Ответ #13 : 19.11.2015, 11:17:41 »
Привет всем еще раз!
Моя заставка-таки должна появляться всякий раз, как пользователь вводит адрес сайта. Достаточно поставить в уголке крестик ПРОПУСТИТЬ. Я вписала в .htaccess DirectoryIndex index.html но при таком раскладе админка дает ошибку 403! Вот что делать и почему это получается?
Fatal error - это не фатально!!! Я проверила.
*

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Re: Страница-заставка и главная
« Ответ #14 : 19.11.2015, 13:36:27 »
А заставка должна появляться только, когда юзер сайт вбивает, или на главную переходит всякий раз?
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Страница-заставка и главная
« Ответ #15 : 20.11.2015, 12:27:03 »
Лучше, чтобы только когда юзер сайт вбивает. Но как их разделить с главной?
Fatal error - это не фатально!!! Я проверила.
*

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Re: Страница-заставка и главная
« Ответ #16 : 23.11.2015, 10:44:01 »
По кукам тогда только.
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться