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

sammillord

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
  • Уважаю продукты Adobe
Интеграция шаблона
« : 06.03.2011, 18:31:15 »
Здравствуйте уважаемые форумчане! я у вас тут новичек...  ::)
И вот с такой проблемой (описывать буду долго и мучительно):
Решил я значит для своего ВУЗа сделать сайтик, а то у нас он совсем хилый какой то, да и сис.админ жалуется что там ни чего не понятно (админки нет, статичный сайтик). И вот тут самое интересное - начал я искать CMS на которой попроще да по быстрее можно все это дело реализовать (до этого был знаком с Wordpressом, был у меня неплохой бложек, но что то не хочется снова на ВП делать). Выбор пал на Joomla!
Установил Denwer, скачал Joomla 1.6, скачал Artisteer 3 (легкая прога для создания дизайнов, выполненная в видео офиса 2007). И вот мы подходим к самому важному... почти!   :dry:
В фотошопе нарисовал шапочку, в Artisteer скомпоновал весь дизайн, экспортировал... и... как это правильно написать то, интегрировал его в Joomla - и вот тут первая беда, на Joomla 1.6 этот дизайн не поставился, точнее поставился, но не полностью, а только фон, шапка, и название левой колонки "меню"  :o :( значит я огорчился, но где наша не пропадала и поэтому я не стал отчаиваться и решил что все таки нужно попробовать установить более старую версию Joomla... а то мало ли... Установил я Joomla 1.5, по новой залил макет (или дизайн, как правильно то) и о чудо! дизайн поставился, но снова не так!  >:( метод "ТЫКа"  - не помог, почитал в нете, ответа не нашел... вот на вас одна надежда.
Ниже приведу скрины какой должен был получится сайт и какой получается:
Вот так должно быть:

и вот то что получается когда заливаю на локальный хост устанавливаю на Joomla:


Разница на лицо... верхнего меню нет, левое меню не то, да и вообще.... не знаю что делать, надеюсь на вашу помощь в решении моей проблемы  !  ::)
*

sammillord

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
  • Уважаю продукты Adobe
Re: Интеграция шаблона
« Ответ #1 : 06.03.2011, 18:32:59 »
Кстати, забыл указать, если для решения проблемы необходимы файлы самого шаблона, то я залью куда нибудь их и ссылку дам :)
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Интеграция шаблона
« Ответ #2 : 06.03.2011, 18:44:07 »
Возьмите любой бесплатный шаблон (шаблоны с варезников брать очень не рекомендую) и исправьте в нем шапку.
Для справки: почитайте что такое CSS и HTML и как выводятся модули.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

sammillord

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
  • Уважаю продукты Adobe
Re: Интеграция шаблона
« Ответ #3 : 06.03.2011, 18:57:44 »
NightGuard что такое CSS  и ХТМЛ  я читал - это хорошо, так сказать, забытое старое, на счет бесплатного шаблона - я достаточно пользовался на своем (уже не существующем ) блоге, и этот вариант меня не интересует, мне бы как именно этот шаблон впаять! ;)
Я тут на форуме почитал немного, и знаю ваше отношение (ваше - значит форумчан) отношение к артистиру, но все же может найдется человек который может объективно и грамотно помочь решить данный трабл ))
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Интеграция шаблона
« Ответ #4 : 06.03.2011, 19:13:31 »
Вы какое меню в какую позицию публикуете? Какие суффиксы задаете, проверяли?
Бесплатный шаблон на порядок лучше по качеству нежели УГ от артистера, достаточно.
И вы уверены что не провалитесь в индексе Google? Пример - сибагс - смотрим как выводится. Далее - перенос ссылок, редиректы.
Далее, смотрим на функционал, а вы уверены что сможете его повторить? Например расписание.

Закажите саппорт сайт специалисту, как впрочем и разработку, если у вас сисадмин не может с этим разобраться.
По поводу дизайна, то что на данный момент имеется на сайте СибАГСа, намного лучше нежели то, что "состряпали" вы.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

sammillord

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
  • Уважаю продукты Adobe
Re: Интеграция шаблона
« Ответ #5 : 06.03.2011, 19:21:34 »
NightGuard чувствуется гнев в вашем посте...ну или раздраженность! )
Цитировать
По поводу дизайна, то что на данный момент имеется на сайте СибАГСа, намного лучше нежели то, что "состряпали" вы.
Ох как ошибаетесь, вы попали на новосибирский сайт, а я имел ввиду сайт филиала...
Завтра попробую ваш совет с бесплатным шаблоном... в общем посмотрим...
... это разовый порыв помочь своему филиалу, но так или иначе - заново переучивать язык разметки, каскадные стили и прочее я разумеется не собираюсь... фанатизмом попахивает  ;D
« Последнее редактирование: 06.03.2011, 19:29:38 от sammillord »
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
Re: Интеграция шаблона
« Ответ #6 : 06.03.2011, 19:32:55 »
NightGuard чувствуется гнев в вашем посте...ну или раздраженность! )Ох как ошибаетесь, вы попали на новосибирский сайт, а я имел ввиду сайт филиала...
Мое мнение: не стоит делать шаблон на артистере. Когда только начинал изучать Joomla тоже сделал для кафедры сайт с шаблоном на артистере. Сейчас жалею.. а сверстать с нуля времени нет. Так и стоит пока.
Куча непонятных дивов, фоновых картинок, лишние стили и много чего еще. Я бы на вашем месте сверстал в ручную тот шаблон, который Вы нарисовали. Ну или переделал бесплатный.
*

sammillord

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
  • Уважаю продукты Adobe
Re: Интеграция шаблона
« Ответ #7 : 06.03.2011, 19:35:02 »
NightGuard может тогда подскажете более или менее подходящий шаблон сайта для ВУЗа, все таки вам на глаза шаблонов попадалось огромное количество, я в этом уверен, а значит хоть что то должно подходит ::)

Цитировать
Ну или переделал бесплатный.
*грустно вздыхаю* думаю этим и придется заняться... эх жаль конечно, целый день провозился с этим аристером, в фотошопе, переустановкой движка, серфинг в рунете... эээх
« Последнее редактирование: 06.03.2011, 19:38:41 от sammillord »
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Интеграция шаблона
« Ответ #8 : 06.03.2011, 20:09:58 »
http://www.joomlashack.com/products/free-joomla-templates - первый в синей расцветке если выводить.
Вроде 100% фришный, но требуется регистрация.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Интеграция шаблона
« Ответ #9 : 06.03.2011, 22:32:34 »
Если нет желания учить разметку и стили, обращаться к профессионалам тоже не хотите, то может вообще стоит оставить идею помогания родному филиалу? Рынок IT имеет свои довольно жесткие законы. Если хотите свой качественный сайт, то необходимо либо иметь знания, либо платить деньги знающим. Вы бы сами доверились хирургу со скальпелем купленным в хозяйственном магазине и едва ли окончившему мед училище по специальности фельдшера?

Artister не есть гуд. Берите шаблон из паблика и заменяйте картинки на свои. Если повезет то все встанет на места.
*

sammillord

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
  • Уважаю продукты Adobe
Re: Интеграция шаблона
« Ответ #10 : 07.03.2011, 08:14:58 »
NightGuard спасибо! будем пробовать  ;)
Цитировать
Берите шаблон из паблика и заменяйте картинки на свои. Если повезет то все встанет на места.
Ну на счет везения вы конечно загнули, думаю моих знаний вполне хватит на замену картинок  ::)


Чтобы расставить все точки, самому руководству академии глубоко наплевать какой у них сайт и конечно деньги они на него тратить не намерены, а сис.админ, мой хороший приятель... на него и повесили этот сайт... так что мои добрые намерения направлены не только на то чтобы улучшить сайт своему любимому ВУЗу, но и помочь человеку ;) так что не судите строго, искренне спасибо за ваши советы, да и вообще за то что откликнулись  *DRINK*
*

sammillord

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
  • Уважаю продукты Adobe
Re: Интеграция шаблона
« Ответ #11 : 09.03.2011, 05:44:23 »
Вы будете смеяться, но я все таки решил пробежаться по курсу "HTML и CSS" для чайников, ну и PHP за одно хД
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Интеграция шаблона
« Ответ #12 : 09.03.2011, 10:52:47 »
Ну и правильно
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести путь до шаблона с помощью API Joomla?

Автор elche

Ответов: 13
Просмотров: 15806
Последний ответ 11.09.2018, 23:48:50
от DK-Scorp
Стили шаблона

Автор karkan25

Ответов: 12
Просмотров: 4536
Последний ответ 21.05.2017, 16:40:32
от karkan25
Проблема с изменением логотипа штатного шаблона rhuk_milkyway Joomla_1.5

Автор Porohok

Ответов: 6
Просмотров: 4866
Последний ответ 22.03.2017, 10:34:23
от Porohok
Настройка неадаптивного шаблона

Автор Zegeberg

Ответов: 4
Просмотров: 4588
Последний ответ 21.06.2016, 00:21:06
от Zegeberg
Редактирование шаблона

Автор gdmitry

Ответов: 1
Просмотров: 4416
Последний ответ 04.06.2016, 20:25:32
от Taatshi