Новости 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

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
После обновления до с 1.5.7 до 1.5.23 слетела пагинация. Идут номера 1.2.3.4. и.д. А переход осуществляется через страницу. То есть, нажимая на 2, попадаем на 3-ю, на 3 -на 5-ю, на 4- соответственно на 7-ю. и т.д.  В чем дело?
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
Хочу добавить... Сайт построен следующим образом... Идет шаблон блога раздела....вот на центральной пагинация по новостям раздела из всех категорий. Отдельно в категориях пагинация работает нормально. А вот на центральной странице после обновления только нечетные видятся...
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
Получается, что файл pagination.php не видит материалы с адресацией
......?start=10
......?start=30
......?start=50
и т.д.
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
Помогите, пожалуйста... очень неприятно ведь! не откатывать же назад к 1.5.7!
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
Некоторое время отсутствовал и не было возможности заниматься данной проблемой...Все висело как есть, но теперь все же хочется привести пагинацию к нормальному виду. Проблема описана и хочется знать: что же делать!
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
А как считаете, можно ли решить проблему переходом на Joomla 1.6?
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
Пробовал заменить файл pagination.php в \libraries\joomla\html\ на старый из версии 1.5.7, в которой пагинация нормально работало, не помогает. Появляется пропавшая после обновления надпись 1 страница из 17 ... Хотя страниц фактически 34!... А пагинация так и скачет через один... Хелп!
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
Подскажите, возможно ли написать непосредственно разработчикам Joomla, если на форуме я не получу ответа?
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
Нашел файл, при замене которого происходит нарушение пагинации. Этот файл: components\com_content\views\section\view.html.php
Сравнил коды файла до и после замены... Нашел такие отличия:

Файл с рабочей пагинацией версия j1.5.7 строка 107
Код
$pagination = new JPagination($total, $limitstart, $limit - $links);
Файл патча j.1.5.7-j.1.5.23 с нарушением пагинации строка 107
Код
$pagination = new JPagination($total, $limitstart, $limit );
И еще.... Есть отличия в вот этих блоках...
Файл с рабочей пагинацией версия j1.5.7:
Код
// Build the link and text of the readmore button
if (($item->params->get('show_readmore') && @ $item->readmore) || $item->params->get('link_titles'))
{
// checks if the item is a public or registered/special item
if ($item->access <= $user->get('aid', 0))
{
//$item->readmore_link = JRoute::_("index.php?view=article&id=".$item->slug);
$item->readmore_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->sectionid));
$item->readmore_register = false;
}
else
{
$item->readmore_link = JRoute::_("index.php?option=com_user&view=login");




$item->readmore_register = true;
}
}

$item->event = new stdClass();
$results = $dispatcher->trigger('onAfterDisplayTitle', array (& $item, & $item->params,0));
$item->event->afterDisplayTitle = trim(implode("\n", $results));

$results = $dispatcher->trigger('onBeforeDisplayContent', array (& $item, & $item->params, 0));
$item->event->beforeDisplayContent = trim(implode("\n", $results));

$results = $dispatcher->trigger('onAfterDisplayContent', array (& $item, & $item->params, 0));
$item->event->afterDisplayContent = trim(implode("\n", $results));

return $item;
}
}

Файл патча j.1.5.7-j.1.5.23 с нарушением пагинации
Код
// Build the link and text of the readmore button
if (($item->params->get('show_readmore') && @ $item->readmore) || $item->params->get('link_titles'))
{
// checks if the item is a public or registered/special item
if ($item->access <= $user->get('aid', 0))
{
//$item->readmore_link = JRoute::_("index.php?view=article&id=".$item->slug);
$item->readmore_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->sectionid));
$item->readmore_register = false;
}
else
{
$item->readmore_link = JRoute::_("index.php?option=com_user&view=login");
$returnURL = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->sectionid),false);
$fullURL = new JURI($item->readmore_link);
$fullURL->setVar('return', base64_encode($returnURL));
$item->readmore_link = $fullURL->toString();
$item->readmore_register = true;
}
}

$item->event = new stdClass();
$results = $dispatcher->trigger('onAfterDisplayTitle', array (& $item, & $item->params,0));
$item->event->afterDisplayTitle = trim(implode("\n", $results));

$results = $dispatcher->trigger('onBeforeDisplayContent', array (& $item, & $item->params, 0));
$item->event->beforeDisplayContent = trim(implode("\n", $results));

$results = $dispatcher->trigger('onAfterDisplayContent', array (& $item, & $item->params, 0));
$item->event->afterDisplayContent = trim(implode("\n", $results));

return $item;
}
}

Во втором куске кода присутствуют вот эти строки

$returnURL = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->sectionid),false);
            $fullURL = new JURI($item->readmore_link);
            $fullURL->setVar('return', base64_encode($returnURL));
            $item->readmore_link = $fullURL->toString();


*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
В итоге вернул старый файл components\com_content\views\section\view.html.php все заработало... Растолкуйте знатоки Joomla и php что же в этих строках не так?!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
а шаблон на стандартный не пробовали поменять?
Здесь дело скорее всего в шаблоне.
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
а шаблон на стандартный не пробовали поменять?
Здесь дело скорее всего в шаблоне.
Ставил стандартные, та же история...не помогает...милки и бииз ставил...
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
Прямо вот очевидно, что дело в этих строках...просто нужно грамотное толкование... Менял по одному файлу... Пагинация слетает когда заменяю файл components\com_content\views\section\view.html.php и никогда более...Притом выяснил точно, что слетает, когда в строке 107 этого файла стоит просто $limit:  $pagination = new JPagination($total, $limitstart, $limit). А вот если стоит $limit - $links, то есть $pagination = new JPagination($total, $limitstart, $limit - $links), тогда все работает нормально...
« Последнее редактирование: 29.08.2011, 17:33:47 от Andrew1110 »
*

Serg123

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Меня одного смущает что в пагинации кодирование?! $fullURL->setVar('return', base64_encode($returnURL)); Зах?! Я не знаток, так.. но тоже стало интересно :)
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
Меня одного смущает что в пагинации кодирование?! $fullURL->setVar('return', base64_encode($returnURL)); Зах?! Я не знаток, так.. но тоже стало интересно :)
Об этом просто и не думал! Просто обновился до 1,5,23 и пагинация стала чудить...Копал...А вылезло много чего. На форуме, кстати, никто так и не помог. Даже сейчас, когда дорыл непосредственно до переменных, никто не скажет отчего так происходит! А ведь такой огромный ресурс!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
На форуме, кстати, никто так и не помог. Даже сейчас, когда дорыл непосредственно до переменных, никто не скажет отчего так происходит! А ведь такой огромный ресурс!
этот форум имеется ввиду или какой?
Andrew1110
специально для вас, думаю, никто не станет искать 1.5.7 и смотреть что там изменилось в последней версии. Поэтому никто и не поможет. Можно лишь посоветовать обратиться в коммерческий раздел, либо ждать пока появятся единомышленники с такой же проблемой :)
*

Andrew1110

  • Захожу иногда
  • 165
  • 0 / 0
специально для вас, думаю, никто не станет искать 1.5.7 и смотреть что там изменилось в последней версии. Поэтому никто и не поможет. Можно лишь посоветовать обратиться в коммерческий раздел, либо ждать пока появятся единомышленники с такой же проблемой :)
Обращаться в коммерческий отдел мне не нужно теперь. Слава Богу восстановил нормальный вид, пусть и вслепую! Но ведь что интересно! Патчи с официальной страницы обновлений Joomla! Так неужели мой случай единичный?! 
А что готовы порадеть за родной форум - это даже хорошо!))))))..... Пусть не в этом случае, но в других находил здесь решение многих проблем!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема со входом в Админ панель после переноса сайта

Автор Vlad Ermolaev

Ответов: 11
Просмотров: 4171
Последний ответ 12.12.2019, 15:48:25
от SeBun
После редактирования статьи появляются символы Â

Автор Ra_insider

Ответов: 7
Просмотров: 4956
Последний ответ 30.01.2018, 20:33:39
от Petrovich
как восстановить статьи после установки нового сайта на ту же БД

Автор midlex

Ответов: 26
Просмотров: 7605
Последний ответ 23.10.2017, 08:21:19
от kungurskiy
Ошибки кодировки после обновления БД

Автор JohnGonzo

Ответов: 2
Просмотров: 2114
Последний ответ 12.04.2016, 09:11:03
от JohnGonzo
[Решено] Остаться на той же странице после авторизации

Автор dron

Ответов: 6
Просмотров: 3163
Последний ответ 30.11.2015, 14:07:27
от anoorik