Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "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

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

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Предыдущий программист написал код прямо в контроллере и view.

Можно как-то перенести этот код в плагин? Речь идет о контроллере orders.php (админки). Кнопки то я уже из view перенес, функции из плагина не могу разобраться как вызвать.

Мне не нужно готовое решение, просто объясните принцип, кто знает как...
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
В контроллере добавьте вызов обработчика события:
Код
$app = JFactory::getApplication();
$app->triggerEvent('onBeforeOrderSave', array($cid, $post));
onBeforeOrderSave - произвольное имя события. В массиве - произвольный набор передаваемых даннных. В плагине обработчик для примера выше будет выглядеть так:
Код
public function onBeforeOrderSave($cid, $post){
}
Таким образом можно функции из контроллера вынести в плагин. В нужных местах вызываете плагин с передачей параметров (если надо) и получаете ответ от плагина.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Спасибо за ответ. А нельзя как-то обойти вообще редактирование контроллера? Использовать уже имеющие триггеры?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Использовать уже имеющие триггеры?
функции из плагина не могу разобраться как вызвать
Методы класса контроллера и не получится использовать. А в плагине метод класса получает такое же имя, как указано в trigger
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
А нельзя как-то обойти вообще редактирование контроллера?
Код
// Вызываем com_finder для получения его результатов
$cpath = JPATH_SITE.'/components/com_finder';
if(!class_exists('FinderController')) require($cpath.'/controller.php');
if(!class_exists('JHtmlQuery')) require($cpath.'/helpers/html/query.php');
if(!class_exists('JHtmlFilter')) require($cpath.'/helpers/html/filter.php');
$config = array('base_path' => $cpath);
$ctrl = new FinderController($config);
$model = $ctrl->getModel('Search', 'FinderModel');
$view =& $ctrl->getView('search', 'html');
$view->addTemplatePath($cpath.'/views/search/tmpl');
$input->set('view', 'search');
$ctrl->display();

Это рабочий пример вызова компонента "умный поиск" из любого места. Позволяет выполнять методы контроллера, представления и модели. Подкорректируйте под свой компонент и уберите лишнее (модели и представления) - должно работать.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Немного не понял, причем здесь вызов компонента, если речь идет о компоненте JoomShopping, его контроллере (orders.php) и его плагине (группы: jshoppingadmin)
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
Немного не понял, причем здесь вызов компонента, если речь идет о компоненте JoomShopping
У меня пример записан для com_finder. Переделайте для com_joomshopping (или как он у вас называется?) и вызывайте его контроллер. По идее, должно хватить такого кода:
Код
$cpath = JPATH_SITE.'/components/com_joomshopping';
if(!class_exists('JoomShoppingController')) require($cpath.'/controller.php');
$config = array('base_path' => $cpath);
$ctrl = new JoomShoppingController($config);
$ctrl->имя_метода_контроллера();
Имена каталога компонента и его класса контроллера посмотрите в компоненте - мне не на чем. Вставить это все можно и в плагин.
А. Еще, если это из админской части компонента, то JPATH_ADMINISTRATOR вместо JPATH_SITE.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
То есть на странице будут работать два контроллера, точнее будет загружаться методы стандартного контроллера + дополнительный метод из другого?

Верно ли я Вас понял?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Можно как-то перенести этот код в плагин? Речь идет о контроллере orders.php (админки).
контроллере (orders.php) и его плагине (группы: jshoppingadmin)
Вижу только
Код
 JPluginHelper::importPlugin('jshoppingorder');
Может поэтому и не работает, что не тот тип плагина
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Может поэтому и не работает, что не тот тип плагина
Группа jshoppingadmin выше чем группа jshoppingorder. Она работает везде в админке. Кнопки же выводятся...
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
Верно ли я Вас понял?
Все верно. Обычно такой необходимости не возникает, но вот когда начинаете делать какие-то костыли, то может понадобиться. Если никакой другой (более штатный) способ не подойдет.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Если никакой другой (более штатный) способ не подойдет.

Спасибо, за совет, буду пробовать. А есть другие способы?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
А есть другие способы?
Сказал бы, если б знал. Но с жумшопингом не знаком. @draff выше намекал, что у этого компонента свои плагины есть и какие-то из них могут подойти для вашей задачи.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

ProtectYourSite

  • Живу я здесь
  • 2371
  • 140 / 4
  • Безопасность вебсайтов
Наверно только системным плагином.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Группа jshoppingadmin выше чем группа jshoppingorder. Она работает везде в админке. Кнопки же выводятся..
Можете проверить, добавив в контроллер и вызов плагинов jshoppingadmin
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Можете проверить, добавив в контроллер и вызов плагинов jshoppingadmin

Что проверить? Плагины группы jshoppingadmin работают во всей админке JoomShopping. Спасибо, конечно, но тема как перенести код из контролера в плагин, а не наоборот, как туда что-то добавить.

Сменил группу плагина на jshoppingorder, абсолютно ничего не изменилось
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
То есть на странице будут работать два контроллера, точнее будет загружаться методы стандартного контроллера + дополнительный метод из другого?

Верно ли я Вас понял?

Что-то не получается или мы друг друга неправильно поняли... @sivers - это способ подмены одного контроллера другим?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
это способ подмены одного контроллера другим?
нет же. это способ заставить отработать контроллер (вид/модель) на странице чужого компонента. не вместо, а вместе с ним. например, чтоб сделать на странице 2 списка (листинга) объектов, принадлежащих разным компонентом. Иногда заказчики и такое хотят.
У вас не получилось подключить контроллер вообще или не удается вызвать какой-то из его методов? Как объявлен метод? public?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Пишет что не находит класс контроллера
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
Пишет что не находит класс контроллера
Ок, напишите как именно подключаете и откуда скачать JoomShopping - посмотреть.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Код
$cpath = JPATH_ADMINISTRATOR.'/components/com_joomshopping/controllers';
if(!class_exists('JshoppingControllerOrders')) require_once($cpath.'/orders.php');
$config = array('base_path' => $cpath);
$ctrl = new JshoppingControllerOrdersEx($config);

Компонент

Могу скинуть один контроллер
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
Пути надо было б поправить и имя класса
Код
$cpath = JPATH_ADMINISTRATOR.'/components/com_jshopping/controllers';
if(!class_exists('JshoppingControllerOrders')) require_once($cpath.'/orders.php');
$config = array('base_path' => $cpath);
$ctrl = new JshoppingControllerOrders($config);
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
А дальше надо смотреть. Например, если используются какие-то гет/пост/реквест параметры, то перед созданием объекта контроллера эти параметры можно вписать в $_GET/$_POST/$_REQUEST, чтоб он их прочитал. Но это если нужны.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Так получается, что названия контроллера должны быть одинаковыми и имя класса тоже?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
Так получается, что названия контроллера должны быть одинаковыми и имя класса тоже?

Нет, не совсем. Вам сперва надо знать какой именно контроллер вам нужен. Т.е. его класс. Если есть только объект и вы точно не знаете его класс, то можно посмотреть через print_r() или get_class() (напр. get_class($this); ).
Далее ищите в каком файле папки /controllers/ этот класс определен.
затем (это уже касательно кода) делаете проверку на предмет того, что класс уже подгружен и подключаете файл, только если класс еще не подгружался (т.е. не существует):
Код
if(!class_exists('JshoppingControllerOrders')) require_once($cpath.'/orders.php');
Ну и далее естественно, что создаете объект именно с тем классом, который проверяли:
Код
$ctrl = new JshoppingControllerOrders($config);
Если у вас в одном файле объявлено несколько классов, то проверяйте тот, который вам нужнее. И для него же new. Но в дистрибутиве в orders.php объявлен только один класс.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Наверно не смогу разобраться самостоятельно (не достаточно знаний). Поможете (не бесплатно)?

Есть код который нужно перенести (из контроллера в плагин), есть заготовка плагина...
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
Могу попробовать
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Есть код который нужно перенести (из контроллера в плагин), есть заготовка плагина..
Можно и мне, чисто для интереса.
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Могу попробовать
Скайп StudioDK-WEB

Контроллер подключился
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3373
  • 276 / 0
  • Беру сайты на полное сопровождение
Короче пошли другим путем... Так тоже было бы реально, но тогда нужно было бы подключать и view и model (в моем случае...)

Просто переопределил родной контроллер. Написал для переопределения плагин (потом доработаю выложу). Теперь можно переопределить нужный контроллер и писать в нем что угодно, все остальное будет обновляться.

Все работает, уже проверено.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться