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

SindBAD

  • Осваиваюсь на форуме
  • 40
  • 3 / 1
Всем привет.
 Пишу плагин, который должен обрабатывать ссылки.
 Код:
Код
<?php

defined( '_JEXEC' ) or die( 'Restricted access' );

jimport( 'joomla.plugin.plugin' );

class plgSystemSEFreplace extends JPlugin{



    var $substr = '';

    var $_config = null;

    function plgSystemSEFreplace(& $subject, $config){

        global $mainframe;

        if($mainframe->isAdmin()){

            // This plugin is only relevant for use within the frontend!

            return;

        }

        parent::__construct($subject, $config);

        $plugin =& JPluginHelper::getPlugin('system', 'sefreplace');

        $pluginParams = new JParameter($plugin->params);

        $this->substr = $pluginParams->get('substring', '');

    }

    function onAfterInitialise(){

        $application =& JFactory::getApplication();

        $router =& $application->getRouter();

        if($router->getMode() == JROUTER_MODE_SEF) {

            $router->attachBuildRule(array('plgSystemSEFreplace', 'replace'));

        }

    }

    function replace(&$router, &$uri){

        file_put_contents('route.txt', $uri->getPath());

    }

}
В моём понимании attachBuildRule должен вызвать метод plgSystemSEFreplace::replace, но этого почему-то не присходит, файл route.txt не создаётся (так же не срабатывает никакой код в теле функции replace).
 Что я делаю не так?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Минутку... А что такое global $mainframe? Вы работаете в legacy mode? Если нет, то откуда эта переменная будет проинициализирована? Убирайте нафиг эту глобальную переменную и работайте через JFactory::getApplication().

И зачем вы вручную вытаскиваете параметры? Они и так будут доступны после инициализации плагина...
*

SindBAD

  • Осваиваюсь на форуме
  • 40
  • 3 / 1
Брал за основу плагин hp_router_v0.3, так как он выполняет сходную функцию.
За советы спасибо, но проблема всё равно осталась - каллбэк не вызывается. Может, чего-то не хватает?

Код
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin' );
class plgSystemSEFreplace extends JPlugin{
var $substr = '';
function plgSystemSEFreplace(& $subject, $config){
parent::__construct($subject, $config);
$this->substr = $this->params->get('substring', '');
}
function onAfterInitialise(){
$application =& JFactory::getApplication();
if ($application->getName()!= 'site') {
return true;
}
$router =& $application->getRouter();
if($router->getMode() == JROUTER_MODE_SEF) {
$router->attachBuildRule(array('plgSystemSEFreplace', 'replace'));
}
}
function replace(&$router, &$uri){
file_put_contents('route.txt', $uri->getPath());
}
}
« Последнее редактирование: 29.06.2011, 21:11:33 от SindBAD »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Ну пройдитесь отладчиком и посмотрите, где вываливается... Вызывается ли вообще конструктор, вызывается ли onAfterInitialize, выполняются ли условия внутри метода.
*

SindBAD

  • Осваиваюсь на форуме
  • 40
  • 3 / 1
Всё выполняется вплоть до $router->attachBuildRule. Не вызывается только каллбэк. Это всё я уже проверил, когда не осталось идей - пошел на форум.

Может быть, для attachBuildRule чего-то не хватает? Он слабовато документирован и примеров использования крайне мало. Когда я раскурочивал hp_router_v0.3, там ещё была папка, в которой лежали файлы com_contactrouter.php, com_contentrouter.php, com_newsfeedsrouter.php и com_weblinksrouter.php, при этом в коде плагина они нигде не подключаются.
« Последнее редактирование: 29.06.2011, 22:35:10 от SindBAD »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
В документации по call_user_func_array есть интересный комментарий:

Цитировать
PHP5 with E_STRICT no longer allows calls as below:
<?
// Causes an error with E_STRICT
call_user_func_array(array('parent', '__construct'), $args);
?>
It gives an error because you are trying to call a nonstatic function as if it was static. The correct syntax is
<?
// Works fine
call_user_func_array(array($this, 'parent::__construct'), $args);
?>

Вполне возможно, что тут именно эта ситуация - метод replace не отмечен как статический, а его пытаются вызывать именно так. Попробуйте ради эксперимента вместо attachBuildRoute напрямую вызывать call_user_func_array.
*

SindBAD

  • Осваиваюсь на форуме
  • 40
  • 3 / 1
Код
	call_user_func_array(array('plgSystemSEFreplace', 'replace'), $args=array($router, false));
....
function replace(&$router, &$uri){
file_put_contents('route.txt', 1);
}
так - вызывается.
Вы меня натолкнули на мысль копнуть глубже, в результате оказалось, что метод JRouter::_processBuildRules() вообще не вызывается. Почему такое может быть?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Ну он судя по коду должен вызываться из метода build...
*

SindBAD

  • Осваиваюсь на форуме
  • 40
  • 3 / 1
угу. build тоже не вызывается.
А причина вот в чём:
Код
class JRouterJoomsef extends JRouter
{
   ...
   function &build($url){
     ...
   }
   ...
}
короче говоря, метод переопределён в Artio JoomSEF без обращения к родителю.
« Последнее редактирование: 30.06.2011, 09:48:51 от SindBAD »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Ну как всегда - разработчики сторонних расширений думают только о себе и считают, что кроме их расширений ничего на свете не существует. Вполне распространенная ситуация... Я так недавно убил часа 3 кажется из-за PhocaGallery - они там использовали системный кэш для своих нужд и перекрывали результаты кэширования плагинов...
*

SindBAD

  • Осваиваюсь на форуме
  • 40
  • 3 / 1
Это точно. 90% самых популярных расширений написаны пофигистами.
Вобщем, забил я и сделал то что нужно в коде Artio. Пусть ***код, главное ядро Joomla не затронуто.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Доработать плагин импорта полей CFI от joomline

Автор R31rus

Ответов: 1
Просмотров: 794
Последний ответ 21.12.2022, 10:40:11
от R31rus
Плагин Smart Search для своего компонента

Автор ftp27

Ответов: 1
Просмотров: 2352
Последний ответ 07.01.2017, 19:44:04
от newvideo
Плагин заказа обратного звонка

Автор maska

Ответов: 14
Просмотров: 2339
Последний ответ 22.05.2016, 18:28:00
от maska
Запустить контент-плагин в модуле

Автор mohax

Ответов: 10
Просмотров: 5587
Последний ответ 30.03.2015, 18:04:20
от twins717
Как понять в каком случае плагин производит запись в бд?

Автор maxis

Ответов: 34
Просмотров: 3369
Последний ответ 27.01.2015, 08:23:51
от maxis