Новости 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 Гость просматривают эту тему.
  • 17 Ответов
  • 4240 Просмотров
*

SuperKolobok

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Привет
Есть Joomla 2.5.
Нужно 2 отдельных модуля поиска, чтобы они искали по разным категориям материала.
К примеру в стандартном плагине Поиск - Контент можно выключить поиск по Архивным материалам, мне это подходит в качестве 1го модуля.
А 2й модуль поиска нужно, чтобы искал только по Архивным материалам.
И в догонку - как включить Точное совпадение по умолчанию ?
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
В xml-файле добавляем 2 параметра - "Поиск по архивным материалам", "Точное совпадение"
Например, с помощью радио, для "Поиск по архивным материалам":
<param name="arсhive_search" type="radio" default="" label="Archive search" description="Archive articles search only">
<option value="">No</option>
<option value="1">Yes</option>
</param>
В файле php прописываем (лучше вначале - тогда точно выполнится)
$arhive_search    = $params->get('arсhive_search', 0);
В файле tmpl/default.php
Пишем <input type="hidden" name="arсhive_search" value="<?php echo $arhive_search?>" />
Таким образом мы добавили скрытое поле "поиск по архиву". Теперь придется копаться в компоненте.
В файле controller.php ищем функцию search и дописываем
$arсhive_search = (JRequest::getVar('arсhive_search', 0))==1 ? 1 : 0);
Чуть ниже, где идет $post прописываем
$post['state'] = $arсhive_search;
Вот и вся для поиска по архиву. Да, я точно не знаю, какому статусу (архивирован, обычный, еще что-то) соотвествует state. В примере 1 и 0. Поставь точное значение. Вроде ничего не упустил. Поиск "Точное совпадение" делается аналогично, но нужно input не прятать.
*

SuperKolobok

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Огромное спасибо за быстрый ответ
Вроде всё логично, добавил в код, появились опции в модуле,  но не заработало (( включаю-выключаю всё равно ищет...
По таблицам state у опубликованного 1, в корзине -2, в архиве 2.
Если не сложно, посмотрите чего я натворил в архиве http://skxdemo.comxa.com/archive_search.7z.

Может подскажите как организовать поиск через catid ?? Чтобы к примеру поиск учитывал в поиске материалы из catid=10 или не учитывал.

Премного благодарен.

« Последнее редактирование: 19.03.2012, 17:02:50 от SuperKolobok »
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
$archive_search = (JRequest::getVar('archive_search', 0)==2 ? 1 : 0);
объясню ==2 - это то, что приходит из формы модуля. у нас 0-нет, 1-да.
1 : 0 - это как раз "По таблицам state у опубликованного 1, в корзине -2, в архиве 2."
Правильный вариант:
$archive_search = (JRequest::getVar('archive_search', 0)==1 ? 2 : 1);
2.5 не установлено, проверить не могу
*

SuperKolobok

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Поменял на правильный (( включаю-выключаю всё равно ищет...
А можно рабочий код с 1.5 модуля и компонента куда то мне в архиве?
Спасибо
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
У меня в "arсhive_search" нужно исправить кирилическую с на латинскую. Может в этом проблема?
UPD. У меня в архиве state -1, published 1
« Последнее редактирование: 19.03.2012, 17:22:19 от neo85r »
*

SuperKolobok

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Кирилическую С сразу исправил, посмотрел state в 1.5 действительно 1 и -1, в 2.5 1 и 2.
Фильтр поиска через конкретную catid не сильно напрягу вас подсказать что менять ?
Спасибо

UPDATE да, кое-где пропала, дописал.

UPDATE2 Попробовал на 1.5 - тоже самое, ищет в любом случае...
« Последнее редактирование: 19.03.2012, 17:54:05 от SuperKolobok »
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
да, там еще в archive_search в некоторых местах с вообще пропала. кроме того, нужно добавить кое-что в модель чтобы работало. сейчас смотрю где и что. и catid тоже
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
Итак, удалось. Снова, по порядку
1. прописываем в XML параметры
2. делаем в модуле доработки, чтобы появился скрытый инпут (проверить исходный код, чтобы убедиться)
3. в контролере компонента (controller.php) добавляем
$post['state'] = JRequest::getVar('archive_search', 1);  после строки $post['limit']  = JRequest::getInt('limit', null, 'post');
4. ищем в папке плагинов поиска (plugins\search\content.php) 3 строки .' AND a.state = {число}' и меняем на . ' AND a.state = '.(JRequest::getVar('state', 0)==1 ? -1 : 1)
-1 и 1 - это 2 и 1 у тебя
Да, у самого плагина поиска есть дополнительные опции "искать в архивных", "искать в некатегоризированных" - поэтому всего 3 строки (3 запроса). Естественно, после таких манипуляций отвалится возможность использовать настройки самого плагина.
Подобным способом можно добавить и поиск в категориях, для этого после нашей строки
Код
. ' AND a.state = '.(JRequest::getVar('state', 0)==1 ? -1 : 1) 
можно добавить
Код
. ' AND a.catid = '.(JRequest::getInt('catid', 0))
и передать как указано в пунктах 1-3 значения catid. если нужны несколько категорий, то можно в настройках их указать через запятую, потом в плагине разрезать по запятой (explode) и слепить implode
UPD. Так как мы изменили логику работы компонента, то один из вариантов запроса оказывается лишним (там где поиск по архивам, мы и так принудили искать по state). Его можно исключить.
« Последнее редактирование: 19.03.2012, 18:28:56 от neo85r »
*

SuperKolobok

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
поменял, возможности плагина отвалились.  но всё равно ищет... уже пробую на чистой джуле 1.5.25 без демо данных

   mod_search.xml
<param name="archive_search" type="radio" default="" label="Archive search" description="Archive articles search only">
<option value="">No</option>
<option value="1">Yes</option>
</param>


   mod_search.php
   после require_once( dirname(__FILE__).DS.'helper.php' );
$archive_search = $params->get('archive_search', 0);

   default.php
   в конце перед </form>
<input type="hidden" name="archive_search" value="<?php echo $archive_search; ?>" />

   controller.php
   после $post['limit']  = JRequest::getInt('limit', null, 'post');
$post['state'] = JRequest::getVar('archive_search', 1);

   content.php
   3 замены . ' AND a.state = 1' на
. ' AND a.state = '.(JRequest::getVar('state', 0)==1 ? -1 : 1)
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
Код
$archive_search = $params->get('archive_search', 0);
getInt
Код
-1 : 1
у J2.5 это 2 и 1, сам же писал
поставь перед $db->setQuery
такие строки:
echo var_dump($_REQUEST);
echo var_dump($query);
die();
и напиши что получилось
*

SuperKolobok

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
я на 1.5.25 уже пробую, чтобы исключить возможную несовместимость
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
смотри мой предыдущий пост:
поставь перед $db->setQuery
такие строки:
echo var_dump($_REQUEST);
echo var_dump($query);
die();
и напиши что получилось
UPD. Короче вот архив http://rghost.ru/37107470
« Последнее редактирование: 19.03.2012, 18:43:42 от neo85r »
*

SuperKolobok

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
array(8) { ["searchword"]=> string(7) "linksss" ["ordering"]=> string(6) "newest" ["searchphrase"]=> string(3) "all" ["limit"]=> string(2) "20" ["state"]=> string(1) "1" ["option"]=> string(10) "com_search" ["Itemid"]=> NULL ["view"]=> string(6) "search" } string(978) "SELECT a.title AS title, a.metadesc, a.metakey, a.created AS created, CONCAT(a.introtext, a.fulltext) AS text, CONCAT_WS( "/", u.title, b.title ) AS section, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug, CASE WHEN CHAR_LENGTH(b.alias) THEN CONCAT_WS(":", b.id, b.alias) ELSE b.id END as catslug, u.id AS sectionid, "2" AS browsernav FROM #__content AS a INNER JOIN #__categories AS b ON b.id=a.catid INNER JOIN #__sections AS u ON u.id = a.sectionid WHERE ( (a.title LIKE '%linksss%' OR a.introtext LIKE '%linksss%' OR a.fulltext LIKE '%linksss%' OR a.metakey LIKE '%linksss%' OR a.metadesc LIKE '%linksss%') ) AND a.state = -1 AND u.published = 1 AND b.published = 1 AND a.access <= 0 AND b.access <= 0 AND u.access <= 0 AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2012-03-19 14:42:01' ) AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2012-03-19 14:42:01' ) GROUP BY a.id ORDER BY a.created DESC"
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
"a.state = -1" - будет искать архивные (то есть со статусом -1). у тебя все должно уже работать. архив http://rghost.ru/37107470
PS. Обнови страницу. Кроме того, нужно текст вбивать в модуль, а не в компонент (в компоненте будет поиск по published, так как мы задали строкой (JRequest::getVar('state', 0)==1 ? -1 : 1))
« Последнее редактирование: 19.03.2012, 18:49:24 от neo85r »
*

SuperKolobok

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Заработало! Я просто раньше постоянно жал кнопку поиска уже в результатах поиска, и там работают только свойства плагина..., щас попробую порезать вид результатов.
Я так понимаю это находится в default_form.php ??
Спасибо огромное
« Последнее редактирование: 19.03.2012, 19:27:35 от SuperKolobok »
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
каталог tmpl содержит шаблоны как результатов поиска, так и формы, и шаблона ошибки. Скорее default_results.php
>>и там работают только свойства плагина
там работает все таже строчка (JRequest::getVar('state', 0)==1 ? -1 : 1))
но так как state не передается, она берет 1. смотри тернарную операцию
*

SuperKolobok

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
оказывается в default_results.php формирование таблицы результатов, а верхняя шапка с кнопками и прочей лабудой default_form.php
попробую прикрутить всё это к 2.5.3...
еще раз спасибо
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Информация о https://all-for-joomla.ru/

Автор Preview

Ответов: 1
Просмотров: 3163
Последний ответ 18.11.2025, 18:59:32
от wishlight
Компонент для Joomla 4 Менеджер Мета Тегов

Автор azm1n

Ответов: 2
Просмотров: 5359
Последний ответ 09.05.2025, 11:30:21
от azm1n
Ищу расширение 301 редиректов для Joomla 4

Автор azm1n

Ответов: 1
Просмотров: 4466
Последний ответ 04.05.2025, 22:41:05
от azm1n
Расширения для Joomla для просмотра анонимно историй в Instagram

Автор bgh97079

Ответов: 0
Просмотров: 4301
Последний ответ 24.12.2024, 19:47:43
от bgh97079
Телефонный справочник для Joomla 4

Автор kunsaid

Ответов: 2
Просмотров: 4632
Последний ответ 28.06.2023, 17:35:43
от kunsaid