Новости Joomla

Перевод и публикация интервью с 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 Гость просматривают эту тему.
  • 11 Ответов
  • 1780 Просмотров
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
После обновлений до 3.5.0 перестала работать 404 и менеджер перенаправлений
в /templates/lik-astana/error.php такой код
Спойлер
[свернуть]
Менеджер перенаправлений то же пишет
Плагин перенаправлений включен. Функция 'Сохранять ссылки' включена.
При переходе на страницу ошибки _https://lik-astana.kz/404.html_ она открывается и в htaccess указана ErrorDocument 404 https://lik-astana.kz/404.html
  
« Последнее редактирование: 26.01.2017, 07:35:46 от Stasweb »
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Вот с таким кодом
Код
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
header('Location: /404.html');
exit;
 }
получаю ошибку
Fatal error: Call to undefined method Exception::get() in /var/www/vhosts/lik-astana.kz/httpdocs/templates/lik-astana/error.php on line 23
23 строка у меня идет if ($this->_error->get('code') == '404') { и при этом 200 ответ сервера
Комментирую строки
Код
//if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
header('Location: /404.html');
exit;
// }

получаю пустую страницу но уже ответ 404
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Код
if ($this->_error->getCode() == '404') {
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
header('Location: /404.html');
exit;
 }
Также пустая страница с ответом сервера 404
Спойлер
[свернуть]
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Убираю header("Status: 404 Not Found"); получаю свою 404 страницу /404.html но уже с ответом
Спойлер
[свернуть]
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Вот этот код работал нормально и проблем не было
Спойлер
[свернуть]
Может что то еще мешает отображению странице ошибок.
 
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Если в коде меняю что то
Спойлер
[свернуть]
Допустим пишу if ($this->_error->geCode() == '404') { то выдает ошибку на пустой странице а если пишу правильно if ($this->_error->getCode() == '404') { то просто пустая страница.
Получается что файл подключается на срабатывание 404 ошибки но не отображает страницу.
в htaccess пробовал убирать ErrorDocument 404 https://lik-astana.kz/404.html и пробовал ErrorDocument 404 /404.html все ровно результат нулевой.
 
*

Skaneris

  • Осваиваюсь на форуме
  • 19
  • 5 / 0
На самом деле белая страница - это тоже ошибка, просто она не выводится в целях безопасности, а вместо ошибки отображается пустой HTML файл.
У вас просто какая-то ошибка на сервере. Это избитая тема. Вам нужно просто отобразить эту ошибку и всё станет ясно как божий день.
Это можно сделать при помощи настроек php. Один из вариантов - прописать в .htaccess строку:

php_value display_errors 1

Все варианты описаны вот тут - http://joomlarulit.com/blog/4-belaya-stranitsa-joomla-prichiny-i-metody-ustraneniya.html

А вообще для страницы ошибок я бы порекомендовал прописать шаблон в файле error.php , а не перенаправлять из него. Так будет правильнее.
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
php_value display_errors 1 в .htaccess прописано.
Ошибки в админке стоят по максимуму.
И все равно пустая страница
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Дело у Вас похоже не в самой странице ошибки, Вы для начала сделайте так, чтоб она открывалась. Я никакими усилиями ее вызвать не смогла.

А вообще сравните свой файл с файлом 404 в обновленной версии Joomla - может, они там что-то поменяли. Смотрите как все это вызывается и правьте у себя соответственно.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
выключил код
Код
//if (($this->error->getCode()) == '404') {
//header("HTTP/1.0 404 Not Found");
//header("Status:404 Not Found");
//header('Location:/404.html');
//header('Location:/media/pages/404.html');
//exit;
//}

и прописал простой HTML
Код
<div style="text-align:center;font-weight: bold; color: #777777; font-size: 80px;">ERROR</div>
<div style="text-align:center;font-weight: bold; color: #777777; font-size: 40px;">Документ не найден</div>
и теперь если набрать ссылку _https://lik-astana.kz/oformlenie-v-baget-ramki.htm_ то страница вызывается
« Последнее редактирование: 26.01.2017, 07:34:50 от Stasweb »
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
На сервере
Отображение ошибок  Вкл
в htaccess
php_value display_errors 1
В панели администратора для разработчиков все ошибки php.

но если набрать кривую ссылку то 404 все ровно не отображается и ошибок нет не каких 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает менеджер материалов, ошибка 500 SSL certificate problem

Автор Екатерина М

Ответов: 5
Просмотров: 1960
Последний ответ 06.04.2025, 09:27:20
от wishlight
Проблема со входом в панель администратора Joomla 3.x после обновления

Автор danieeljose

Ответов: 2
Просмотров: 1580
Последний ответ 24.03.2025, 20:33:02
от R31rus
Переход на страницу материала после его размещения пользователем

Автор stepan39

Ответов: 0
Просмотров: 851
Последний ответ 22.11.2024, 07:14:15
от stepan39
После выключения расширения лег сайт

Автор blind

Ответов: 4
Просмотров: 1482
Последний ответ 19.05.2024, 14:13:33
от blind
Перестала работать почта на всех сайтах

Автор svarg

Ответов: 5
Просмотров: 1267
Последний ответ 23.02.2024, 22:05:51
от Vastriet