Форум русской поддержки Joomla!® CMS
11.12.2016, 15:58:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Отключить плагин в шаблоне

 (Прочитано 364 раз)
0 Пользователей и 1 Гость смотрят эту тему.
askona
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 98



« : 06.03.2016, 15:02:58 »

Здравствуйте. На сайте используется 2 шаблона для пк и мобильной версии. Поставил плагин системных сообщений в модальном окне. Для версии пк все устраивает. Для мобильной версии необходимо отключить этот плагин. Требуется совет, каким образом запретить в мобильном шаблоне загрузку плагина?
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6461



« Ответ #1 : 06.03.2016, 15:42:07 »

плагин и шаблон работают независимо друг от друга
мобильный шаблон грузится по какому-то условию (проверка типа устройства?), модифицируйте плагин так, чтобы в нем производилась такая же проверка, и в случае срабатывания на моб.устройстве он просто не отрабатывал
Записан
askona
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 98



« Ответ #2 : 06.03.2016, 15:50:49 »

То есть в в index.php мобильного шаблона запретить загрузку плагина не возможно? Использую mobile Joomla там в настройках можно отключить плагины для мобильной версии но системных плагинов в списке нет.
« Последнее редактирование: 06.03.2016, 15:54:23 от askona » Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6461



« Ответ #3 : 06.03.2016, 15:56:45 »

не, в шаблоне запретить работу системного плагина нельзя
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +121/-4
Offline Offline

Пол: Мужской
Сообщений: 1472


« Ответ #4 : 06.03.2016, 16:28:13 »

Отключить плагин можно, но может быть слишком поздно:

Код:
if($is_mobile)
{
    $instance = JEventDispatcher::getInstance();
    $observers = $instance->get('_observers');
    
    foreach($observers as $key => $observer)
    {
        if(is_object($observer) && get_class($observer) === 'PlgSystemНазваниеплагина')
        {
            unset($observers[$key]);
        }
    }
    
    $instance->set('_observers', $observers);
}

Отключать плагин в шаблоне может быть бессмысленно, т.к. он к этому времени может уже отработать. Нужно смотреть, при каких событиях отрабатывает этот плагин. Всё, что отрабатывается до onAfterDispatch вы уже не отмените.
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6461



« Ответ #5 : 06.03.2016, 16:52:50 »

Это не поможет: системные плагины отрабатывают до начала любых рендеров данных на фронт
Записан
askona
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 98



« Ответ #6 : 06.03.2016, 17:01:05 »

Визуально создается ощущение, что вначале загружается страница а потом отрабатывает плагин( иногда выскакивает стандартное системное сообщение а потом выскакивает модальное окно) Буду пробовать. Спасибо за советы.
Использую плагин System Message Freeow .
« Последнее редактирование: 06.03.2016, 17:04:47 от askona » Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +121/-4
Offline Offline

Пол: Мужской
Сообщений: 1472


« Ответ #7 : 06.03.2016, 17:12:44 »

Это не поможет: системные плагины отрабатывают до начала любых рендеров данных на фронт
Ошибаетесь. Это работает, правда не для всех событий. Можете поэкспериментировать сами. Собственно, у меня была похожая задача.
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +121/-4
Offline Offline

Пол: Мужской
Сообщений: 1472


« Ответ #8 : 06.03.2016, 17:43:27 »

Не заметил, что автор сидит на старой версии CMS. Для Joomla 2.5 вместо JEventDispatcher нужно вызывать JDispatcher:
Код:
$instance = JDispatcher::getInstance();
Как же надоело уже в этом старье копаться! Ну когда вы все обновитесь? Azn
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet