Перейти к содержимому


Фотография
- - - - -

Обработка плагинами content joomla (textarea)

textarea

Лучший Ответ usersJbzoo , 29 June 2015 - 05:45

Решили вопрос вызовом контекстного события при выводе элементов (в шаблоне full):

      $std = new stdClass();
            $std->id = 1;
            $std->introtext = '{extravote '.$item_id.'0'.$favorites[$i]->id.'}';

            JPluginHelper::importPlugin('content');
            $dispatcher = JEventDispatcher::getInstance();
            $dispatcher->trigger( 'onContentBeforeDisplay', array( 'com_content.article',  &$std, &$params ) );
      echo  $std->introtext;
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 7

#1 usersJbzoo

usersJbzoo

Отправлено 20 June 2015 - 15:39

Здравствуйте!
В настройках элемента textarea включил настройку загрузить плагины, в само поле (в материале) добавил код {extravote 1} (плагин ExtraVote).
Обработка плагинами Joomla Content не срабатывает.
Joomla: 3.4.1 JBZoo: 2.1.5 Pro (build 1) Zoo: 3.3.4

Можно ли включить обработку плагинами content для всего шаблона full? Или через php?


  • 0

#2 SmetDenis

SmetDenis

Отправлено 20 June 2015 - 15:45

По идее эта опция должна включать обработку плагинами типа "content"
212m_200x0.png
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 usersJbzoo

usersJbzoo

Отправлено 21 June 2015 - 06:13

По идее эта опция должна включать обработку плагинами типа "content"
212m_200x0.png

Да, эта опция включена, но почему то плагины content не срабатывают (extravote)

Можно ли включить для всего шаблона full обработку плагинами content?

 

Сделали в шаблоне full вывод списка пользователей добавивших в избранное, и необходимо для каждого пользователя вывести рейтинг для голосования. Как раз extravote для этого очень подходит (может выводить в любом месте уникальный рейтинг) он имеет вид кода для вставки {extravote #} (например, {extravote id материала + id пользователя} - что дает уникальный рейтинг)

Или возможно есть другой способ?


  • 0

#4 SmetDenis

SmetDenis

Отправлено 22 June 2015 - 10:01

Думаю дело в чем-то другом. Именно эта опция включает обработку плагинами Joomla

v7hb_200x0.png
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 usersJbzoo

usersJbzoo

Отправлено 25 June 2015 - 08:42

в контенте джумла работает код 
echo JHTML::_('content.prepare', '{extravote 1}');
а в контенте jbzoo (файл full.php) - нет - выводится как текст.
Куда копать?

  • 0

#6 SmetDenis

SmetDenis

Отправлено 25 June 2015 - 13:47

Возможно это особенность плагина. Можете дать временный доступ к коду сайта?
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#7 SmetDenis

SmetDenis

Отправлено 26 June 2015 - 08:37

Спасибо.
Посмотрел сайт.

Текстовый элемент работает правильно. Он вызывает в плагине контента событие onContentPrepare.

ExtraVote работает только через onContentBeforeDisplay и судя по коду рассчитан только на компонент com_content
hv9f_200x0.png

lehi_200x0.png

Даже если мы там напишем com_zoo или уберем проверку, заменим функцию на onContentPrepare
То плагин не будет работать верно. Похоже там много привязок к переменным именно из стандартного менеджера материалов.

Zoo/JBZoo работает правильно. Плагин тоже работает правильно. Проблема в том что плагин задумывался именно для менеджера материалов. Его нужно аккуратно дорабатывать.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 usersJbzoo

usersJbzoo

Отправлено 29 June 2015 - 05:45   Лучший Ответ

Решили вопрос вызовом контекстного события при выводе элементов (в шаблоне full):

      $std = new stdClass();
            $std->id = 1;
            $std->introtext = '{extravote '.$item_id.'0'.$favorites[$i]->id.'}';

            JPluginHelper::importPlugin('content');
            $dispatcher = JEventDispatcher::getInstance();
            $dispatcher->trigger( 'onContentBeforeDisplay', array( 'com_content.article',  &$std, &$params ) );
      echo  $std->introtext;

  • 1





Темы с аналогичным тегами textarea

Click to return to top of page in style!