Новости Joomla

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

kaze.mir

  • Захожу иногда
  • 62
  • 7 / 0
всем доброго дня.

скажите пыжалуйста, возможно ли как то осуществить следующее: есть компонент, из модели которого

Код
        $dispatcher = JDispatcher::getInstance();
        $dispatcher->trigger('pluginFuncName');

можно ли в плагине как то указать модели, что ей надо прекратить работу? но не просто прекратить (т.е. не die), а чтобы именно сама модель прекратила выполнение, но остальной код Joomla выполнился. наподобие что то как у jQuery preventDefault(). т.е. отменить стандартное выполнение модели (или может быть контроллера?) и переложить дальнейшую обработку на плагин.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Да уж, задачка. Мне пока что ничего толкового на ум не приходит... Может вернуть из плагина какое-то значение и в зависимости от него останавливать дальнейшие действия модели:

Код: php
$dispatcher = JDispatcher::getInstance();
$result = $dispatcher->trigger('pluginFuncName');

if (!$result)
{
// модель продолжает работать
}
*

smart

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

Если же в процессе обработки какого-то из плагинов нужно прервать выполнение остальных, то я бы попробовал обернуть вызов trigger в try {} catch (Exception $e){}, из плагина вызывать Exception (можно специальный свой тип завести), а в модели обрабатывать это исключение и выполнять необходимую логику.
*

kaze.mir

  • Захожу иногда
  • 62
  • 7 / 0
спасибо ответившим, извините что так не быстро :) уезжал, только вернулся.

к сожалению, не могу менять код модели - компонент не мой. так что буду как то с другой стороны видимо пытаться. еще раз спасибо
*

smart

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

Документация по созданию плагина для Joomla 2.5 и Joomla 3.x

Автор b2z

Ответов: 8
Просмотров: 14418
Последний ответ 27.08.2014, 09:52:02
от skinny
[Решено] Как в XML плагина вытащить пункты меню ?

Автор mainet

Ответов: 5
Просмотров: 1623
Последний ответ 03.12.2012, 16:37:13
от b2z
Манифест: Локализация description и автовключение плагина

Автор danik.html

Ответов: 4
Просмотров: 1587
Последний ответ 11.03.2012, 14:37:59
от danik.html
Как получить доступ к контенту из плагина?

Автор Diiimonn

Ответов: 3
Просмотров: 1865
Последний ответ 12.10.2011, 11:38:43
от Diiimonn