Новости Joomla

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

С тех пор, как в поисковиках появились нейроответы ИИ, трафик на сайты стал гораздо меньше, так как пользователь стал получать информацию непосредственно на странице поисковика без перехода на сайт. Но при генерации ответа ИИ указывает источники - ссылки на сайты, информация которых была использована для генерации ответа.

Долгое время у всех был немой вопрос: "Как же теперь оценивать эффективность сайта?". Теперь этот на этот вопрос отчасти отвечает новый инструмент аналитики.
Процитируем справку Яндекса по инструменту:
На запросы пользователей в Поиске может отвечать Алиса AI. Ответы появляются в поисковой выдаче, в объектных ответах и на отдельной вкладке Поиска. В них чаще всего упоминаются страницы сайтов, на которые Алиса AI опиралась при подготовке ответа.

С помощью инструмента Видимость сайта в Алисе AI в Яндекс Вебмастере вы можете:
- узнать долю упоминаний сайта среди источников в ответах Алисы AI в Поиске и отследить динамику изменений;
- посмотреть примеры запросов, по которым страницы сайта показываются в ответах Алисы AI;
- посмотреть примеры сайтов той же тематики, которые часто упоминаются в генеративной выдаче.
Данные отображаются за последние 3 месяца и обновляются каждую неделю.

Статистика собирается только по тем запросам, по которым ваш сайт уже находится достаточно высоко в поисковой выдаче. Это позволяет анализировать видимость именно в той нише, где вы заинтересованы в продвижении, и избегать «размытия» по малозначимым для вас запросам.

Кроме того, такой подход обусловлен работой Алисы AI: она строит ответ с опорой на самые релевантные, информативные и качественные страницы, которые обычно занимают высокие позиции в Поиске.

Чтобы увидеть статистику вашего сайта в меню Яндекс.Вебмастера перейдите в раздел "Эффективность" и далее в "Показы сайта в Алисе AI".

В начале февраля 2026г. был вебинар с Михаилом Сливинским - амбассадором Поиска Яндекса, и в рамках вебинара была озвучена просьба сделать такой инструмент. Скорее всего разработка на тот момент уже велась, потому что от просьбы до релиза прошло около 2-х месяцев. В любом случае хорошо, что такая статистика появилась.

Показы сайта в Алисе AI в вашем Яндекс,Вебмастере.

@joomlafeed

👩‍💻 ИИ-админ для 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

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

maxis

  • Захожу иногда
  • 119
  • 1 / 0
С праздником, Коллеги!

Копаюсь в компоненте
Код
com_tags в Joomla 3.x
и пытаюсь переопределить шаблон вывода материалов по меткам (тегам).

Хочу вывести программу мероприятия по дням (в роли дней метки), формат вывода:
Название метки
материал1, материал2, ...
Название метки2
материал3, материал4, ...
...

Лично мне это позволит построить гибкий список материалов, где метками можно управлять под каким названиями материал будет отображаться. Конкретная задача - расписание программ мероприятий на фестивале. Т.е. описание программы одно, но может попадать в разные даты. Для того, чтобы снять с программы на любой день, просто убираю метку с датой или добавляю при необходимости.

Если кто-то знает другие решения для такой задачи на Joomla 3.x - буду очень признателен.

столкнулся со следующими трудностями:
- не могу понять в каком месте компонент определяет кол-во меток, чтобы менять вывод (и если честно не до конца понял, где в шаблоне зависимость вида от кол-ва меток)
- как разделить результат запроса по нескольким меткам по конкретным меткам для группированного вывода в шаблоне.
- как получить список меток и их свойства, чтобы вывести заголовок метки и описание
- надо ли объединять шапку и список

Возможно есть другие решения, но я пока не придумал.

« Последнее редактирование: 21.05.2016, 13:08:19 от maxis »
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Может на описание работы компонента, кто ссылку даст?
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
В общем решил вопрос следующим образом (возможно есть более изящные)

1. Добавил в файл tags.php по адресу libraries/cms/helper
следом за 547 строкой перед скобкой:
Код
. ', ' . 'tags.title AS tag_title'
и после 577 строки вставил строку:
Код
->join('LEFT', '#__tags AS tags ON tags.id = m.tag_id')
Это для того, чтобы по тегу можно было отсортировать в шаблоне вывода (это тот самый костыль, который не нравится)

2. в шаблоне вывода списка тегов шаблон\html\com_tags\tag\default_items.php переопределил вместо стандартного (заменяем код с 62 строки по 93 тем, что в спойлере):   
Спойлер
[свернуть]

Детали вывода надо дополнять, конечно, но основную канву выводит как надо.
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Рано радовался...
Выводит только по последнему указанному тегу. А надо, чтобы материал выводился по каждому тегу.

Может, кто подкинет идею, где копать?
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Добрался до того, что надо запрос немного переделывать, убирать лишнюю группировку. Только не знаю какую группировку убирать.
Есть у кого идеи?
Результирующий запрос получается такой:
Спойлер
[свернуть]

Не понимаю для чего так много значений с оператором MAX, может в этом загвоздка?
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
А где можно поправить количество результатов по тегам по умолчанию? Столкнулся с тем, что выдаёт только 20 строк запроса.
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Нашел на форуме похожую задачу: http://joomlaforum.ru/index.php?topic=311732.0
проделывал похожее, но количество не поменялось. Нужно сделать так, чтобы все выбранные записи выводились с указанными параметрами. Упорно выдаёт 20 записей, хотя я меняю 20 на 60 здесь:
Код
$limit = $params->get('display_num', $app->get('list_limit', 20));
и здесь в значение по умолчанию задавал 60 (3-й параметр)
Код
$limit = $app->getUserStateFromRequest('global.list.limit', 'limit', $limit, 'uint');

Есть несколько вопросов для знатоков:
Куда в конечном счёте передаётся итоговый запрос $query для выборки?
protected function populateState в моделе com_tags - кто и когда вызывает или через что вызывается. Не нашёл связей?


Знаю, что где-то на верном пути, но не нашёл ни документации и материалов как делать. Только общие советы.

HELP!
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Как оказалось всё гораздо проще. При отключенном фильтре компонент com_tags ориентируется на глобальные настройки. Там по умолчанию 20 стоит. Заодно и для админ панели добро сделал - 50 установил.
Исправляется здесь: Общие настройки -> Сайт -> Длина списка по умолчанию

Но вернулся к изначальной проблеме - список материалов. Оказывается не всё так просто... для меня. Копаем дальше.

Благодарю всех за внимание, помогать не стоит, сам как-нибудь доберусь до Истины.
До новых постов.
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
На всякий случай, если вдруг кому-то интересно покопаться, текст запроса до применения пагинации:
Код
SELECT 
m.type_alias,
m.content_item_id,
m.core_content_id,
count(m.tag_id) AS match_count,
MAX(m.tag_date) as tag_date,
MAX(c.core_title) AS core_title,
MAX(c.core_params) AS core_params,
tags.title AS tag_title,
MAX(c.core_alias) AS core_alias,
MAX(c.core_body) AS core_body,
MAX(c.core_state) AS core_state,
MAX(c.core_access) AS core_access,
MAX(c.core_metadata) AS core_metadata,
MAX(c.core_created_user_id) AS core_created_user_id,
MAX(c.core_created_by_alias) AS core_created_by_alias,
MAX(c.core_created_time) as core_created_time,
MAX(c.core_images) as core_images,
CASE WHEN c.core_modified_time = '0000-00-00 00:00:00' THEN c.core_created_time ELSE c.core_modified_time END as core_modified_time,
MAX(c.core_language) AS core_language,
MAX(c.core_catid) AS core_catid,
MAX(c.core_publish_up) AS core_publish_up,
MAX(c.core_publish_down) as core_publish_down,
MAX(ct.type_title) AS content_type_title,
MAX(ct.router) AS router,
CASE WHEN c.core_created_by_alias > ' ' THEN c.core_created_by_alias ELSE ua.name END AS author,
ua.email AS author_email
FROM
#__contentitem_tag_map AS m INNER JOIN #__ucm_content AS c ON
m.type_alias = c.core_type_alias AND
m.core_content_id = c.core_content_id AND
c.core_state IN (1) AND
(c.core_publish_up = '0000-00-00 00:00:00' OR c.core_publish_up <= '2016-05-12 09:05:34') AND
(c.core_publish_down = '0000-00-00 00:00:00' OR c.core_publish_down >= '2016-05-12 09:05:34')
INNER JOIN #__content_types AS ct ON
ct.type_alias = m.type_alias
LEFT JOIN #__users AS ua ON
ua.id = c.core_created_user_id
LEFT JOIN #__tags AS tags ON
tags.id = m.tag_id
WHERE m.tag_id IN (3,4,5,6) AND
`c`.`core_language` IN ('ru-RU', '*') AND
m.type_alias IN ('com_content.article') AND
c.core_access IN (0,1,5)
GROUP BY m.type_alias, m.content_item_id, m.core_content_id, core_modified_time, core_created_time, core_created_by_alias, name, author_email ORDER BY MAX(`c`.`core_title`) ASC

Буду признателен, если подскажете, что здесь лишнее исходя из задачи. В выборку должны попадать не только уникальные, но и повторяющиеся материалы согласно таблице #__contentitem_tag_map
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Пока решил таким образом:
Закомментировал в выборке вот эти строки
Код
->group('m.type_alias, m.content_item_id, m.core_content_id, core_modified_time, core_created_time, core_created_by_alias, name, author_email')
. ', ' . 'count(m.tag_id) AS match_count'

убрал из запроса группировку по максимальным значениям MAX

Теперь выбираются не только уникальные строки, но и добавлены строки, где установлено несколько тегов (меток), с учётом настроек компонента. Возможно некорректно работает параметр Строгое соответствие или не строгое соответствие.
« Последнее редактирование: 20.05.2016, 09:47:11 от maxis »
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Благодарю всех за помощь!

Задачу по переопределению вывода списка материалов по метке в компоненте метки com_tags решил следующим образом:

1. установил максимальное кол-во позиций в списке в глобальных настройках Общие настройки -> Сайт -> Длина списка по умолчанию
2. Закомментировал следующие строки в SQL Запросе:
Код
->group('m.type_alias, m.content_item_id, m.core_content_id, core_modified_time, core_created_time, core_created_by_alias, name, author_email')
. ', ' . 'count(m.tag_id) AS match_count'
3. переопределил шаблон вывода имяшаблона/html/com_tags/tag/default_item.php
Добавил непосредственно перед выводом списка:
Код
<?php $sort_by_tag = array();
foreach ($items as $item) {
$sort_by_tag[$item->tag_title][] = $item;
}
?>
Изменил вывод списка вместо простого вывода списка по умолчанию, поставил вот это:
Код
<?php foreach ($sort_by_tag as $tag => $items_by_tag): ?> 
<div class="h2dev"><h2>Мероприятия на <?php echo $tag; ?></h2></div>
<ul class="category list-striped">
<?php foreach ($items_by_tag as $item): ?>
...и в конце не забываем закрыть циклы foreach:
Код
				</li> <!-- завершает вывод позиции списка в оригинальном варианте -->
<?php endforeach; ?>
</ul>
<?php endforeach; ?>

Не проверял опцию по соответствию, она может некорректно работать так как переменная, которая отвечает за условие, которое добавляется в запрос закомментирована match_count в первом пункте  ^-^
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Совместными усилиями результат достигнут, благодаря моему другу, который хорошо разбирается логике построения запросов Владимир Герасимчук v.gerasimchuk@mail.ru
 :D :D :D

По сути тему можно закрывать, но если кто-то хочет добавить свои альтернативные решения или уже готовые, то будет отличное дополнение ветки. Благодарю всех за внимание!

Всех благ!
 ^-^
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Вы случайно от id не избавлялись в брауз.строке в тегах?
В плане такая ссылка при клике на тег : /component/tags/tag/id-тег
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Вы случайно от id не избавлялись в брауз.строке в тегах?
В плане такая ссылка при клике на тег : /component/tags/tag/id-тег

Читал Ваш пост, прикинул как это можно сделать но не придумал. Столкнулся с тем, что без ID материала ссылка некликабельная становится, но я полагаю, что неглубоко копал.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
А при чём тут id материала?
Это id тега по счёту из компонента:если тег создан 7-ой по счёту "joomla", то и id будет 7.
И ссылка будет /component/tags/tag/7-joomla
Вот от этого я хочу избавиться.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
А при чём тут id материала?
Это id тега по счёту из компонента:если тег создан 7-ой по счёту "joomla", то и id будет 7.
И ссылка будет /component/tags/tag/7-joomla
Вот от этого я хочу избавиться.

Я понял Вас, но не ставил себе такой задачи. А в чём сложность? На каком месте неразрешимая проблема?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Решил плагином скрытия ид.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

easy_simple

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Уважаемые господа, вы так хорошо разбираетесь в Joomla. может знаете как фильтровать по тэгу внутри категории? то есть нахожусь я в определённой категории и хочу только в ней отфильтровать материалы по тэгу.
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Уважаемые господа, вы так хорошо разбираетесь в Joomla. может знаете как фильтровать по тэгу внутри категории? то есть нахожусь я в определённой категории и хочу только в ней отфильтровать материалы по тэгу.

Движком не предусмотрена такая сортировка. Либо тег, либо категория. Сам хотел это использовать, но сами видите во что это вылилось.
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Тему можно закрывать.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин для вывода похожих материалов картинками

Автор jess

Ответов: 33
Просмотров: 5801
Последний ответ 14.05.2023, 19:45:43
от franzheinzel
Глюки с модулем вывода последних опубликованных материалов

Автор MultiMatrix83

Ответов: 3
Просмотров: 988
Последний ответ 13.11.2021, 19:46:25
от draff
После обновления до 3.10.2 пропали из списка обновлеия

Автор newalex

Ответов: 1
Просмотров: 876
Последний ответ 07.10.2021, 14:17:33
от ProtectYourSite
Условие для image_intro в альтернативном макете вывода статьи

Автор Olg

Ответов: 2
Просмотров: 1226
Последний ответ 24.05.2021, 12:55:38
от Olg
Проблема с выводом материалов в две колонки

Автор blind

Ответов: 3
Просмотров: 1064
Последний ответ 27.02.2021, 21:21:38
от IToro82