Новости Joomla

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

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

lapus05

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Проблема вот такого характера .

Плагин отлично работает, но на двух страница когда лайкаешь  показывает дубли 1) сайт.ru/main.html 2)сайт.ru/portfolio/4r345-4543-4353.html

Чет не могу понять как это подправить !
Подскажите куда копать !!
*

vschok

  • Новичок
  • 6
  • 0 / 0
Доброго времени суток!
Народ подскажите пожалуйста как решить проблему с Gzip?
при включении Gzip плагин не работает! а мне gzip необходим так же как и socbutton)

*

noVel

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Всем привет. Есть вопросы и очень бы хотел помощи на них от знатоков Joomla 2.5 и социальных кнопок.
Установил SocButtons 1.5, плагин радует, но:
Вроде автор писал что в кнопке Like от фейсбука отключил функцию рассказать друзьям. Так или это так кнопка работает у меня с глюком ?
Если это фича автора, можно её как-то обратно включить в этом плагине и попробовать как он будет работать ?
« Последнее редактирование: 02.01.2013, 23:13:05 от noVel »
*

4853

  • Захожу иногда
  • 170
  • 20 / 11
Поставил. Вроде работает. ФБ не добавляет счётчик, всё время ноль, хотя ФБ в данную секунду вообще лежит.
На главную вывел через mod_newsflash, остальное по умолчанию.
На расположение и дизайн не обращайте внимание-играться буду, хотя дизайна у меня нет вообще...
Для Яндекса в стиле добавил padding-top: 3px;, а то как выскочка-вверх лезит

Забыл, Joomla 1.5.18
« Последнее редактирование: 05.01.2013, 18:07:32 от 4853 »
*

4853

  • Захожу иногда
  • 170
  • 20 / 11
Установил плагин - замечательная вещь.
Два вопроса, если уже были, дико извиняюсь, не осилил 20 страниц форума.

1. У меня кнопки отображаются в две строки.
Как кнопки mail и одноклассники перенести в первую строчку, чтобы все отображалось в одной строчке?

Я в CSS добавил запись
Код
.socbuttons { width: 100%; margin: 5px; line-height: 20px; }
Если не поможет, фиксите постоянную ширину
Код
.socbuttons { width: 600px; margin: 5px; line-height: 20px; }
С постоянкой надо поиграться

p.s.
ФБ у меня вроде заработал
*

Frodesq

  • Новичок
  • 8
  • 0 / 0
Здравствуйте, посоветуйте, как решить такую проблему:
_http://s018.radikal.ru/i503/1301/46/9f8d76401400.jpg_
Кнопка вконтакте отображается вверху материала, тогда как остальные соц.кнопки - внизу. По вашим рекомендациям чистил кэш после процедур установки/удаления и т.п., но не помогло. Кроме того, перестала работать кнопка для установления порядка отображения: независимо от выбора сверху/снизу кнопки перестали менять свое положение, хотя без вк-кнопки все отлично работало.
Посоветуйте, пожалуйста, как ее спустить вниз к остальным)
*

ss777

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
  • злостный мозгоклюй
Доброго вам. Хотелось бы переместить блок с кнопками под заголовок. Проблема в том что в многостраничном материале блок кнопок SocButtons отображается между оглавлением материала article-index и текстом статьи, что коробит дизайн. Нашел в коде вывод блока при установки настроек "перед текстом" - ABOVE , подскажите как сделать вывод плагина между заголовком статьи и оглавлением материала.
Код
            $position = $this->params->get('fb_position', 'above');
           
if($this->params->get('socfront')==1){

            if($position == 'above'){
                if($row->fulltext == ''){
                    $row->text = $html . $row->text;
                    $row->introtext = $html . $row->introtext;
                }else{
                    $row->text = $html . $row->text;
                }
            }else{
                $row->text .= $html;
                $row->introtext .= $html;
            }
} else {
if($position == 'above'){
if($row->fulltext == ''){
$row->text = $html . $row->text;
}else{
$row->text = $html . $row->text;
}
} else {
$row->text .= $html;
}
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Оглавление как выводится? Плагином? Покажите на примере. Возможно дело в порядке плагинов и надо кнопки вызывать последним в группе Content.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ss777

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
  • злостный мозгоклюй
Оглавление как выводится? Плагином? Покажите на примере. Возможно дело в порядке плагинов и надо кнопки вызывать последним в группе Content.


Да, оглавление выводится при разбиении материала на страницы кнопкой "разрыв страницы", стандартная плагин "Контент - Разрыв страницы".
 Изменение порядка плагинов ничего не дало.  В SocButtons походу жестко прописан вывод, так как при отключении SocButtons текст статьи огибает таблицу содержания материала.
http://dushamira.pro/index.php/rubric/mifology/31-atrahasis-mif
« Последнее редактирование: 31.01.2013, 06:58:56 от ss777 »
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Вот, наконец-то добрался почти через год до проблемы, с которой я уже обращался здесь, но ответ не получил. Системный плагин ни в какую не хочет отображать кнопки в К2. В com_content (стандартный плагин) всё пашет. Пациент - http://johnnsoft.mk.ua/wallpaper/item/130-stengazeta-addresses  - я тут специально поиздевался, вставил тэг плагина и в настройки социалок К2 (первый тэг), и в контенте К2 (2-й тэг), и после обработки всех остальных плагинов (3-й тэг):

[spoiler title=Скрин фронта][/spoiler]

Ума не приложу, чего ему ещё, собаке, надо! Подумал, было, что именно К2 виноват, не обрабатывает Joomla-плагины - так нет же, вот всунул 2 тэга в редакторе:

[spoiler title=Скрин - 2 тэга в админке][/spoiler]

Смотрю на фронте - плагин jcomments отработал (во всяком случае, на фронте тэг не отобразился), а socbuttons - НЕТ! :(



Устал уже пороться. Кеш пофигу - чистил-перечистил. Так за год и не заработало.

ЗЫ Ждумла 1.5.26. Версии soc-плагинов уже обновил до последних (1.5) - всё та же хрень.  >:(
« Последнее редактирование: 31.01.2013, 15:41:03 от Dorfman »
*

ss777

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
  • злостный мозгоклюй
Ума не приложу, чего ему ещё, собаке, надо! Подумал, было, что именно К2 виноват, не обрабатывает Joomla-плагины - так нет же, вот всунул 2 тэга в редакторе:

Заранее извиняюсь за офф топ.
Я наотрез отказался от К2, Zoo и подобных компонентов, которые замыкают контент на себе, и в собственных таблицах. Слишком много головняков отнимающих силы, время и нервы на встраивание фишек и примочек доступных для стандартного com_content. Потихоньку начал переводить все сайты на Seblod. Проблем совместимости стало гораздо меньше.
« Последнее редактирование: 01.02.2013, 10:18:16 от ss777 »
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Потихоньку начал переводить все сайты на Seblod. Проблем совместимости стало гораздо меньше.
Чтоб головняка было меньше (особенно с seblod) - советую юзать cobalt. Но проект с самописными расширениями под него и сотнями статей переносить на другой cck не вижу смысла. Тем более что именно К2 по своему функционалу меня устраивает.
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Так что, никто ничего путного не подскажет? UP
*

siao

  • Захожу иногда
  • 233
  • 4 / 0
здравствуйте!

установлены два плагина - content и system. но если выключить плагин контент, то {socbuttons} системного плагина перестает работать.
может это странно, но мне показалось, что в контенте мне соцкнопки не нужны, а нужны там, где я сама поставлю тег. но вот такая странность...
почему system не хочет работать самостоятельно?

(Joomla 2.5)
*

El_nik

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Возможно баян и где то уже описывалось но все же кому ни то пригодиться.
Столкнулся с проблемой что Плагин социальных кнопок также плагин социальных комментариев того же автора, проявляется там где он меньше всего нужен, а именно сторонних модулях.
Таких как ротаторы, скролеры, модули вывода новостей и тд. и отключить это явление никак не возможно, по крайней мере для J1.5 я такой Функции не нашел.
В результате внутри какого то динамического модуля не совсем эстетично появляются то кнопки, то форма комментариев.

Решение проблемы было подсказано добрым человеком под ником Sergey на сайте автора плагина но как то все пропустили это не замеченным.

Цитировать
69 строка: if (((JRequest :: getVar('view')) <> 'article') or (($article->id==NULL))){
так правильнее - тогда в некоторых посторонних модулях не будет появляться

У меня в последней версии это было где то на 10строк ниже.

В плагине комментариев тот же баг правим 74строку

всем удачи!...




*

Stall

  • Захожу иногда
  • 93
  • 0 / 1
Правил php JoomGallery чтоб вставить SocButtons. Все работало но после манипуляций с настройками кнопки со страницы исчезли. Откуда рыть? нигде найти не могу :D
*

Адель

  • Осваиваюсь на форуме
  • 41
  • 4 / 0
У меня такая ошибка выводится
Notice: Undefined offset: 1 in /var/www/cl78770/data/www/exclusivnie-podarki.ru/plugins/content/socbuttons/socbuttons.php on line 192

если я правильно нашла строку 192, то там вот что:
$doc->addCustomTag( '<link rel="image_src" href="'.$matches[1].'" />' );

как устранить, чем вызвано?
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
ЭТо не ошибка, а предупреждение. Отключите отображение ошибок и предупреждений в административной панели Joomla.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Адель

  • Осваиваюсь на форуме
  • 41
  • 4 / 0
ЭТо не ошибка, а предупреждение. Отключите отображение ошибок и предупреждений в административной панели Joomla.

А на оптимизацию/пессимизацию это не влияет? Отключила, спасибо
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
А что такое пессимизация? :)

Сайта? А каким образом?
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Infian

  • Новичок
  • 3
  • 0 / 0
Добрый день,
отличный плагин, но возникла проблема с кодировкой
После включения плагина System - SocButtons у сайта слетает кодировка((( Все страницы отображаются типа так: ��}�o�H���6����춝^S�,�qd�9�q'�K�\� и даже главная. Что делать? Пробовал прописывать UTF-8 в htaccess не помогает. Как только выключаю плагин все ок. Если включен только Content - SocButtons то плагин работает норм. Но мне именно нужно вставлять код {socbuttons}
На локалке-денвере с кодировкой нормально! В чем может быть проблема?
*

chars

  • Новичок
  • 9
  • 0 / 0
На нескольких сайтах с Joomla 1.5 и 2.5 перестала работать кнопка Facebook просто становится серой, изменений на сайтах не было.
Причем на сайтах где установлен плагин которые попадаются в интернет, такая же бяка ((( Пробовал с разных компов и на разных сайтах. Кто нашел решение, поделитесь. Хоть JL Like покупай (

Все заработало само собой ? изменений не делалось, хотя как работает кнопка файсбук мне не нравиться она просто становится серой, ни счетчика ни реакций никаких, хотя лайк в файсбуке появляется

Всплыла еще одна проблема русскоязычный домен (рф) Joomla 2.5 - кнопка файсбук не работает напрочь
вот что пишет дебагер:
Object Invalid Value:   
Object at URL 'http://xn--80asatjfh.xn--p1ai/catalog/19-ytepliteli-paroizolyaciya-pena/24-paklya/97-paklya-lnyanoi-voilok-17sm-12m.html?showall=1' of type 'null' is invalid because the given value 'http://xn--80asatjfh.xn--p1ai/catalog/19-ytepliteli-paroizolyaciya-pena/24-paklya/97-paklya-lnyanoi-voilok-17sm-12m.html?showall=1' for property 'og:url' could not be parsed as type 'og:url'.
может кто подскажет как победить ?
« Последнее редактирование: 21.03.2013, 08:27:10 от chars »
*

Infian

  • Новичок
  • 3
  • 0 / 0
Разобрался с проблемой. Все дело было в gzip сжатии, отключил и все заработало. Но с gzip по идеи сайт должен быстрей грузиться ( Нельзя ли как нибудь решить проблему конфликта?
*

venz

  • Захожу иногда
  • 86
  • 13 / 3
Код
/plugins/system/socbuttons/socbuttons.php on line 88
та же тема, так и не смог завести плаг, с бубнами и без. J2.5+V2(гореть виртуеразрабам в аду, последний заказ на нем). Кто то мож решил тишину систем-надстройки?
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Здравствуйте. Поясните пожалуйста, в чем различие и назначение контентного и системного плагинов. Благодарю
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Здравствуйте. Поясните пожалуйста, в чем различие и назначение контентного и системного плагинов. Благодарю
Контентный плагин "вызывается" только в момент, когда работает компонент com_content, т.е. при загрузке какого-то материала или категории материалов (или раздела категорий в Joomla 1.5). Системный плагин вызывается каждый раз при обновлении любой страницы сайта.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Контентный плагин "вызывается" только в момент, когда работает компонент com_content, т.е. при загрузке какого-то материала или категории материалов (или раздела категорий в Joomla 1.5). Системный плагин вызывается каждый раз при обновлении любой страницы сайта.
Благодарю. Честно говоря не вижу разницы между "при загрузке какого-то материала" и "при обновлении любой страницы"
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Вот именно, что при открытии материалов - это одно и то же... а если Вы "шагаете" по страницам фока-галереи, например? Как Вы понимаете понятие "Материал" применительно к Joomla? Материал и страница - это разные вещи.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент онлайн калькулятор Priceleaf 1.0

Автор klubnichkaaa

Ответов: 14
Просмотров: 7796
Последний ответ 31.01.2021, 18:33:40
от varX
Простой личный кабинет из com_content

Автор frag79

Ответов: 48
Просмотров: 20589
Последний ответ 05.01.2020, 15:56:33
от Gulliver
JL Comments - социальные комментарии от Вконтакте, Google+ и Facebook

Автор zikkuratvk

Ответов: 224
Просмотров: 46789
Последний ответ 25.04.2019, 17:10:30
от IlyaJom
EXP Autos Pro - Доска по продаже транспортных средств

Автор Alex_77

Ответов: 137
Просмотров: 56341
Последний ответ 02.02.2018, 21:05:58
от Alex_77
Модуль сообществ: Одноклассники, Google+, Вконтакте и Facebook

Автор zikkuratvk

Ответов: 132
Просмотров: 32712
Последний ответ 26.10.2017, 21:24:20
от yrygvay