Новости Joomla

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

В февральском номере Joomla Community Magazine в статье Evolving Joomla - Joomla CMS MCP Server: Opening the Door to AI-Powered Administration рассказывается о работе команды разработчиков над внедрением в ядро Joomla MCP-сервера.

Что такое MCP-сервер?
Последние годы всех захватывает бум ИИ-технологий. Появились ИИ-агенты - программы, устанавливаемые на сервер или компьютер, которые получают от вас запрос или задачу в человеческом виде и могут выполнять действия с файлами, ходить по сайтам, создавать сайты, программировать и т.д. Люди используют ИИ-агентов в самых разных ситуациях: от написания и проверки кода (даже там, где язык программирования не знаете совсем) до планирования путешествий и бронирования гостиницы.

ИИ-агенты могут использовать различные программные инструменты по протоколу Model Context Protocol (MCP). Для этого разработчик программы должен внедрить MCP в свой продукт или сервис. Так, например, ваш ИИ-агент может ходить по сайтам через браузер и собирать нужную информацию, управляя браузером через MCP-сервер. Или использовать функционал IDE PHP Storm для написания кода, сбора и отладки ошибок, использовать поиск PHP Storm по кодовой базе, а не простой текстовый поиск по файлам. MCP предоставляет набор функций для полноценного управления программным обеспечением.

В случае с Joomla, сервер MCP может предоставить администраторам следующие возможности:
- Автоматическое создание категорий, материалов и меню на основе карты сайта или PDF-файла.
- Создавайть SEO-оптимизированные заголовки и метаописания в пакетном режиме.
- Обновлять расширения на нескольких сайтах одновременно
- Создание посадочные страницы.

Важно отметить, что сервер MCP не задумывался как функция, доступная только «супер-администраторам». Цель инициативы — создать решение, которое будет простым в настройке, маломощным и доступным для широкого круга пользователей.

В процессе разработки точка входа Joomla (аналогично Site, Administrator, Api, Cli), которая будет работать с Streamable HTTP, необходимым для MCP. Аутентификация пока что предполагается на токенах, но затем планируется создание универсального OAuth-сервера для Joomla.
Фактические возможности MCP — инструменты, ресурсы и подсказки — реализованы в виде плагинов для обеспечения расширяемости. Таким образом ожидаем, что и сторонние разработчики смогут создавать MCP-плагины для внедрения поддержки своих расширений Joomla для работы с ИИ.

@joomlafeed

Вышли релизы безопасности Joomla 6.0.4 и Joomla 5.4.4

Релиз безопасности Joomla 6.0.4 и Joomla 5.4.4

Проект Joomla! рад сообщить о выходе Joomla 6.0.4 и Joomla 5.4.4. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

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

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Есть pagination.php, в котором имеется:
Спойлер
[свернуть]

Результат выглядит так (активная выделена):
    В начало    Назад    1    2    3    4    …    6    7    8    9    Вперёд    В конец


А надо так:
    В начало    Назад    …    3    4    5    6    7    …    Вперёд    В конец


При этом за точками должна скрывать не одна страница (как имеется по факту), а 2 и более.

Прошу помощи и разъяснения, что и как в этой функции делается, чтобы я мог сам переделать нужным образом, или же помочь переделать.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #1 : 17.06.2014, 20:52:45 »
А еще подскажите пожалуйста, в какой функции выводятся ссылки пагинации внутри материалов
<ul class="pager pagenav">
    <li class="previous"></li>
    <li class="next"></li>
</ul>

upd
Нашел, выводится плагином "Контент - Навигация по страницам"
« Последнее редактирование: 17.06.2014, 22:16:00 от AlekVolsk »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #2 : 17.06.2014, 21:23:48 »
Как можно в шаблоне переопределить \plugins\content\pagenavigation\tmpl\defaulp.php (вьюха плагина)?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Требуется переделать пагинацию, J3
« Ответ #3 : 17.06.2014, 22:11:41 »
Как можно в шаблоне переопределить \plugins\content\pagenavigation\tmpl\defaulp.php (вьюха плагина)?
тут два варианта, или переопределить вывод плагина в шаблоне материала, распарсив переменную либо написать системный плагин в котором переопределить класс контентного плагина.
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #4 : 17.06.2014, 22:13:36 »
тут два варианта, или переопределить вывод плагина в шаблоне материала, распарсив переменную либо написать системный плагин в котором переопределить класс контентного плагина.
Лучше первое =) да не знаю, как
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Требуется переделать пагинацию, J3
« Ответ #5 : 17.06.2014, 22:22:52 »
Ну и все, вроде как в $this->item->pagination  содержится HTML?
Загружаешь его в DOMDocument как HTML и парсишь.
Можешь и регулярками конечно но не советую..

c simplexml ты вроде бы работал, там все похожее, в мануале php есть описание всех методов.
Если хочешь можешь сделать импорт в объект simplexml:
Код: php
$doc = new DOMDocument();
$doc->loadHTML($html);
$xml = simplexml_import_dom($doc);
« Последнее редактирование: 17.06.2014, 22:28:42 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #6 : 17.06.2014, 22:28:34 »
1. Где это лучше сделать? в com_content/article/ ?
2. "Загружаешь его в DOMDocument как HTML и парсишь." - и близко себе данный процесс не представляю.
Неужели нельзя просто сделать копию файла и править соответственно? Вопрос в правильных путях.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Требуется переделать пагинацию, J3
« Ответ #7 : 17.06.2014, 22:31:35 »
1. Где это лучше сделать? в com_content/article/ ?
ну да там вроде в default.php она выводится $this->item->pagination переменная вроде так называется
Неужели нельзя просто сделать копию файла и править соответственно? Вопрос в правильных путях.
ну полюбому лучше переопределить в шаблоне

Ну тебе может необязательно ее парсить по тегам, может достаточно будет str_replace сделать какой нибудь, все зависит от того что ты будешь творить с этой пагинацией)
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #8 : 17.06.2014, 22:36:48 »
К ссылкам добавить класс, оригинал:
Код: php
<ul class="pager pagenav">
<?php if ($row->prev) : ?>
<li class="previous">
<a href="<?php echo $row->prev; ?>" rel="prev"><?php echo JText::_('JGLOBAL_LT'). $pnSpace . JText::_('JPREV'); ?></a>
</li>
<?php endif; ?>
<?php if ($row->next) : ?>
<li class="next">
<a href="<?php echo $row->next; ?>" rel="next"><?php echo JText::_('JNEXT'). $pnSpace . JText::_('JGLOBAL_GT'); ?></a>
</li>
<?php endif; ?>
</ul>

Желаю получить:
Код: php
<ul class="pager pagenav">
<?php if ($row->prev) : ?>
<li class="previous">
<a href="<?php echo $row->prev; ?>" rel="prev" class="btn btn-primary"><?php echo JText::_('JGLOBAL_LT'). $pnSpace . JText::_('JPREV'); ?></a>
</li>
<?php endif; ?>
<?php if ($row->next) : ?>
<li class="next">
<a href="<?php echo $row->next; ?>" rel="next" class="btn btn-primary"><?php echo JText::_('JNEXT'). $pnSpace . JText::_('JGLOBAL_GT'); ?></a>
</li>
<?php endif; ?>
</ul>
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Требуется переделать пагинацию, J3
« Ответ #9 : 17.06.2014, 23:36:54 »
элементарно ватсон, ищешь в шаблоне article вывод переменной $this->item->pagination . там его может быть много так что методом комментирования определи какой именно тебе выводит пагинацию. заменяешь вывод на:
Код: php
$html = mb_convert_encoding($this->item->pagination, 'HTML-ENTITIES', "UTF-8");
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$nodes = $xpath->query('//ul/li/a');
foreach($nodes as $node)
    $node->setAttribute('class','btn btn-primary');
echo $doc->saveHTML();
интернет-блог: http://websiteprog.ru
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Требуется переделать пагинацию, J3
« Ответ #10 : 17.06.2014, 23:58:02 »
Немного не доработано, но почти то, что нужно...
Цитировать
В начало    Назад    …    3    4    5    6    7    …    Вперёд    В конец
http://joomlaforum.ru/index.php/topic,291099.msg1442047.html#msg1442047
Плагин просто подменяет pagination.php, а изменения в нём уже смотрите...

P.S. Сорри, не обратил внимания, что вы этот плагин уже видели...
Создание сайтов, шаблонов, помощь в решении проблем.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #11 : 18.06.2014, 00:05:46 »
zomby6888, Премного благодарен! +
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #12 : 18.06.2014, 00:06:43 »
Efanych, я про него просто забыл! Спасибо!
А поиск на этом форуме ой как хромает...
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #13 : 18.06.2014, 00:17:12 »
Efanych, не отображается "В начало", "Назад", если на 1 странице. Пусть лучше выводятся как active и некликабельны. Где что посмотреть/подправить можно?
Глюк: если страница == 15, то где-то не закрывается div...

И все-таки это несколько не то: выводит
В начало    Назад    …    3    4    5    6    7    Вперёд    В конец
либо
В начало    Назад    3    4    5    6    7    …    Вперёд    В конец
либо, при постраничном прокручивании, когда клик на соседний номер, вообще без точек
« Последнее редактирование: 18.06.2014, 09:52:14 от AlekVolsk »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #14 : 18.06.2014, 15:01:43 »
Дмитрий Рекун подсказал на joomlablog, как переопределить вьюху плагина:
/plugins/content/pagenavigation/tmpl/defaulp.php => /templates/my_template/htm/plg_content_pagenavigation/defaulp.php
Поставлю ему +, как только здесь отзовется ))

ТЗ по первому посту остается актуальным.
« Последнее редактирование: 18.06.2014, 15:11:13 от AlekVolsk »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #15 : 21.06.2014, 12:55:29 »
ап, см.стартпост
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Требуется переделать пагинацию, J3
« Ответ #16 : 21.06.2014, 16:15:32 »
Efanych, не отображается "В начало", "Назад", если на 1 странице. Пусть лучше выводятся как active и некликабельны. Где что посмотреть/подправить можно?
Глюк: если страница == 15, то где-то не закрывается div...

И все-таки это несколько не то: выводит
В начало    Назад    …    3    4    5    6    7    Вперёд    В конец
либо
В начало    Назад    3    4    5    6    7    …    Вперёд    В конец
либо, при постраничном прокручивании, когда клик на соседний номер, вообще без точек
Судя по примеру - вы поменяли количество отображаемых циферок в одном месте, а там ещё одна переменная есть...
Создание сайтов, шаблонов, помощь в решении проблем.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #17 : 21.06.2014, 19:53:43 »
Efanych, ничего не менял вообще, удалил modules/pagination.php, установил/активировал плагин - и все, результат представлен
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Требуется переделать пагинацию, J3
« Ответ #18 : 21.06.2014, 20:57:22 »
Я не понимаю, почему у вас 6 видимых страниц в пагинации, хотя в обоих плагинах я проверил - выставлено 5.
Посмотрите в файле plugins\system\altpagination\pagination.php переменную $displayedPages. Ей в двух местах должно задаваться значение "5"
Создание сайтов, шаблонов, помощь в решении проблем.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Требуется переделать пагинацию, J3
« Ответ #19 : 21.06.2014, 21:01:11 »
Цитировать
удалил modules/pagination.php
Это что за файл такой?
Посмотрите, нет ли у вас в шаблоне html/pagination.php
Создание сайтов, шаблонов, помощь в решении проблем.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #20 : 21.06.2014, 23:30:22 »
сори. модуль пишу параллельно, вот и modules в голове постоянно крутится. да, html/pagination.php - его удалял.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #21 : 07.07.2014, 15:03:00 »
up

Если убрать какие-либо проверки и просто сделать текущий вывод:
Код: php
function pagination_list_render($list){
  $html = '<ul class="pagination-list">';
  $html .= $list['start']['data'];
  $html .= $list['previous']['data'];
  foreach($list['pages'] as $k => $page) {
    $html .= $page['data'];
  }
  $html .= $list['next']['data'];
  $html .= $list['end']['data'];
  $html .= '</ul>';
  return $html;
}
, то J3  максимум выводит 10 страниц, если страниц 27, то, находясь на последней, между "Назад" и "Вперед" будут показаны с 18 по 27, а надо все: с 1 по 27, как?
« Последнее редактирование: 07.07.2014, 15:06:14 от AlekVolsk »
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Требуется переделать пагинацию, J3
« Ответ #22 : 07.07.2014, 15:19:13 »
В системном pagination.php есть переменная $displayedPages, которая определяет, сколько страниц будет выводиться
Создание сайтов, шаблонов, помощь в решении проблем.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #23 : 07.07.2014, 15:29:43 »
А в настройках J это нигде не указывается? Сам не нашел, искал плохо?
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Требуется переделать пагинацию, J3
« Ответ #24 : 07.07.2014, 15:31:28 »
Нигде не указывается, только в системном файле.
Создание сайтов, шаблонов, помощь в решении проблем.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Требуется переделать пагинацию, J3
« Ответ #25 : 07.07.2014, 15:35:36 »
И не переопределить... ппц. А как в переопределяемом файле узнать общее кол-во имеющихся страниц?
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Требуется переделать пагинацию, J3
« Ответ #26 : 07.07.2014, 15:52:29 »
И не переопределить...
Я для этого плагин и делал.
Чтоб не морочиться с переопределением в шаблоне...
Создание сайтов, шаблонов, помощь в решении проблем.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

К текущему дню недели добавить класс

Автор Gover

Ответов: 5
Просмотров: 1265
Последний ответ 04.09.2016, 23:23:41
от effrit
Отображение результатов запроса в таблич

Автор 68pin

Ответов: 6
Просмотров: 1326
Последний ответ 17.12.2015, 09:41:50
от beliyadm
PageSpeed Insights находит на сайте непонятные страницы

Автор daddy

Ответов: 2
Просмотров: 3059
Последний ответ 14.12.2015, 18:44:47
от AlekVolsk
Не верно отображаеться редирект - ?

Автор warlocksp

Ответов: 0
Просмотров: 1132
Последний ответ 21.07.2015, 16:37:36
от warlocksp
Как прописать JavaScript позицию вывода ?

Автор warlocksp

Ответов: 3
Просмотров: 1479
Последний ответ 04.05.2015, 14:38:43
от warlocksp