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

StopTyssin

  • Новичок
  • 7
  • 0 / 0
Cobalt 7
« : 20.11.2012, 19:35:40 »
Подскажите где мануал нормальный взять на русском языке, заранее благодарен за ответы
*

drinkmaker

  • Захожу иногда
  • 65
  • 13 / 0
  • Щасливцю?
Re: Cobalt 7
« Ответ #1 : 21.11.2012, 00:01:52 »
На русском пока не встречал, видимо нет его.
А на английском на оф. сайте всё доступно разъяснено http://www.mintjoomla.com/community/knowledge.html .
Если совсем плохо с языком спрашивай, подскажу, за одно и мануал русский получится :)
Долго думали - чего котенку в организме не хватает, если он ест полиэтилен. Решили, что мозгов.
*

StopTyssin

  • Новичок
  • 7
  • 0 / 0
Re: Cobalt 7
« Ответ #2 : 21.11.2012, 13:19:27 »
Я почему начал спрашивать то про русский мануал - ролик на анлийском, но прослеживается русский акцент (Сепаратор - вместо сепарэйтор) нашел еще ролики от этого автора в ютубе - остальные его ролики на русском, кроме тех которые про кобальт. Кстате - ролики вообще зачет!
drinkmaker с кобальтом вы имели дело, или нет?
*

drinkmaker

  • Захожу иногда
  • 65
  • 13 / 0
  • Щасливцю?
Re: Cobalt 7
« Ответ #3 : 21.11.2012, 14:25:52 »
Да, на видео акцент действительно русский - это потому что команда у них русская. И это очень облегчает общение со службой поддержки  *DRINK*.
А что касается кобальта, то да некоторый опыт есть, хотя конечно с ресурсом(предок кобальта) опыта больше.
Долго думали - чего котенку в организме не хватает, если он ест полиэтилен. Решили, что мозгов.
*

StopTyssin

  • Новичок
  • 7
  • 0 / 0
Re: Cobalt 7
« Ответ #4 : 21.11.2012, 17:40:41 »
Собственно модератор этого раздела форума  Sergey Romanov и есть русская поддержка))).
Вот я в толк не могу взять логику построения Кобальта..
в Joomla до 2.5 были: разделы, категории, материал
в 2.5 убрали разделы, остались только: категории, материал. Кобальт, как я понимаю расширяет само построения материала в Joomla. Т.е. структура такая:
Раздел
   Категория
      Секция
          Статья
            при этом у каждой статьи есть свой тип и различные поля
Я правильно это все понимаю? Можно какой-нибудь для особо одаренных. (Недавно стал изучать веб ремесло в принципе). Заранее благодарен за ответ
*

drinkmaker

  • Захожу иногда
  • 65
  • 13 / 0
  • Щасливцю?
Re: Cobalt 7
« Ответ #5 : 21.11.2012, 17:54:34 »
Примерно так, но есть нюансы, которые делают кобальт очень мощным инструментом.
1. У кобальта своя структура категорий, не зависящая от стандартных джумловских.
2. Кобальт позволяет в качестве материалов использовать произвольные наборы полей: картинки, чекбоксы, списки, числа и прочее. Это называется Тип.
3. По любому из полей возможна сортировка, поиск, фильтрация.
4. Практически для всего есть возможность переопределения шаблона - это очень круто.
5. Ну и в кобальте сделали большой прорыв в плане АПИ, теперь легче под него что то писать и дорабатывать.

Из недостатков - как мне кажется, только один. Для того чтобы "освоить" нужно обладать определённой квалификацией, то есть это скорее тот компонент, который ориентирован на вебмастеров, он очень облегчает жизнь. И цена 100 баксов за подписку на все поля и фишки - отбивается первым коммерческим заказом. А времени на разработку в разы меньше тратится.
Долго думали - чего котенку в организме не хватает, если он ест полиэтилен. Решили, что мозгов.
*

StopTyssin

  • Новичок
  • 7
  • 0 / 0
Re: Cobalt 7
« Ответ #6 : 21.11.2012, 18:14:58 »
Вот этим он меня и привлек, то что при использовании (в дальнейшем в коммерческих проектах) он здорово жизнь облегчает (есть теперь чем jooml'е ответить друпалу), только в нем разобраться нормально надо - с этим конечно ж..., побольше бы примерчиков
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Cobalt 7
« Ответ #7 : 21.11.2012, 19:00:51 »
Цитировать
Собственно модератор этого раздела форума  Sergey Romanov и есть русская поддержка))).
Это автор компонента, создатели из Киргизии

Цитировать
Из недостатков - как мне кажется, только один
+ нет активации плагинов в поле (например при создании поля вы пишете открывающий тег {googlemaps и закрывающий тег }, а при заполнении материала указывает только название улицы в этом поле, т.е. не нужно весь синтаксис плагина писать при заполнении, это очень удобно для клиентов которым не нужно не чего запоминать и проверять правильно ли они пишут) и нет добавления материала через адмику

Ну а крут он тем что у него хорошая поддержка, и вы гарантировано получите обновление до актуальной версии компонента / Joomla в отличии от аналогов (под прямым аналогом я имею введу FlexiContent). Ну и это вообще был изначально первый CCK для Joomla 1.0 еще)) соответственно богатый опыт разработки

Цитировать
есть теперь чем jooml'е ответить друпалу
Это явно не Cobalt тогда а Seblod)) уж если сравнивать с друпалом))
« Последнее редактирование: 21.11.2012, 19:10:10 от Alldar »
*

StopTyssin

  • Новичок
  • 7
  • 0 / 0
Re: Cobalt 7
« Ответ #8 : 22.11.2012, 10:25:33 »
Это явно не Cobalt тогда а Seblod)) уж если сравнивать с друпалом))
А можно по подробнее, как я уже говорил - я только начинающий))), просто хотелось бы, так сказать от практиков узнать в чем различия,+ и - этих конструкторов. Заранее благодарен за ответы ^-^
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Re: Cobalt 7
« Ответ #9 : 02.12.2012, 11:42:21 »
А как у кобальта с urlами? Так же как в zoo? По крайней мере у них на сайте я увидел /item/.
*

drinkmaker

  • Захожу иногда
  • 65
  • 13 / 0
  • Щасливцю?
Re: Cobalt 7
« Ответ #10 : 02.12.2012, 22:41:07 »
А как у кобальта с urlами? Так же как в zoo? По крайней мере у них на сайте я увидел /item/.
Я так понял, что вопрос по SEF урлам. Да, стандартный роутер немного не идеален. Но для тех кому это важно есть возможность как написать свой, так и интегрировать в сторонние компоненты типа Artio или sh404. Даже туториал есть http://www.mintjoomla.com/community/knowledge/user-item/43-sergey/141-sef-routing-guide.html
Долго думали - чего котенку в организме не хватает, если он ест полиэтилен. Решили, что мозгов.
*

Sergey Romanov

  • Moderator
  • 603
  • 19 / 0
Re: Cobalt 7
« Ответ #11 : 26.12.2012, 13:41:09 »
А можно по подробнее, как я уже говорил - я только начинающий))), просто хотелось бы, так сказать от практиков узнать в чем различия,+ и - этих конструкторов. Заранее благодарен за ответы ^-^
Есть в Joomla 2 направления ССК.

1, Построеные на основе конетена Joomla
2, Независимые построители контента

Из нельзя сравнивать что лучше. Это разные миры. Так вот сиблод это первый вариант а кобальт второй.

Я считаю что у первого варианта больше недостатков и те приимущества которые есть не покрывают их. Они сложней в реализации и как привило в использовании. Если считается что Кобальт тяжело освоить то сиблод по сложности надо умножить как минимум на 3. Так же такой подход как привило ограничен не пробивной командой Joomla. Например что бы в стаднартном выходе Joomla вы могли добавить что то особенно вам пидется ждать годы пока они добавят туда этот интерфейс. Если вообще посчитают нужным.

Наш подход делает нас не зависимыми от Joomla. Мы сами решаем какой функционал и как и когда расширять поэтому и можем предоаставить лучший набор фич на сегодня особеннос  выходом кобальта 8.

Недостатком нашего подхода считается сложная интеграция с другими расширениями. Что как бы то что уже работает с стандартным котнетом Joomla не работает автоматически в таких ССК. Но я считаю что это не объективно. Во первых все плагины для стандартного содержимого Joomla работают в кобальте. А дли интегориции с другими расширениями все равно надо что то присать.

А как у кобальта с urlами? Так же как в zoo? По крайней мере у них на сайте я увидел /item/.
Роутинг может занимать до 50% серверных ресурсов. В кобальте много ссылок и если кадждую генерить с бази и делаьт запрос то будет перегруз проца и работать все будет очень медленно. МОжет такие урлы и были бы лучше но те приимущества которые они прделагают (а это только внешний вид и ни каки приимущевстс в самим SEO) не покроют тех недостатков которые они принисут.

По этому мы использеум роутинг который пользуется метками типа /item/ только с переводом на руский если надо. Это позволило нам создать роутинг который в полне полноценный для SEO и не использует ни одного запроса к базе. А значит мы сидим в 1 секунде на формирование сраницы что на много важнее эстетическай части URL.

Но как уже было сказано есть мозможность интеграции. Или же можно написать свой стандартный файл роутинга кобальта и положить его в спецальную папку и назначить его. Можно даже просто подпривать стандартный.
Лучший ССК всех времен Cobalt
*

drinkmaker

  • Захожу иногда
  • 65
  • 13 / 0
  • Щасливцю?
Re: Cobalt 7
« Ответ #12 : 26.12.2012, 14:49:49 »
Красавцы! Спасибо за работу и кобальт 8  ;D
Всех с Новым годом!
Долго думали - чего котенку в организме не хватает, если он ест полиэтилен. Решили, что мозгов.
*

Prost

  • Захожу иногда
  • 50
  • 1 / 0
Re: Cobalt 7
« Ответ #13 : 19.07.2013, 14:39:28 »
... Это позволило нам создать роутинг который в полне полноценный для SEO и не использует ни одного запроса к базе. А значит мы сидим в 1 секунде на формирование сраницы что на много важнее эстетическай части URL.

Но как уже было сказано есть мозможность интеграции. Или же можно написать свой стандартный файл роутинга кобальта и положить его в спецальную папку и назначить его. Можно даже просто подпривать стандартный.
с учётом этого и желания сохранить остутствие доп. обращений к базе, как возможно решить задачу:
исходный вид урлов в cobalt7
site.ru/component/cobalt/cat-items/2-cat/21-article.html?Itemid=0
нужно: site.ru/2-cat/21-article.html?Itemid=0
ещё лучше: ru.com/2-cat/21-article.html
т.к. ?Itemid=0 - тоже не радует

Как убрать из урлов /component/cobalt/cat-items/ - без сторонних SEF?
---

Возможна ли какая-то доработка роутера, как напр. это сделали для zoo, тут:
http://joomlaforum.ru/index.php/topic,180639.msg1352400.html#msg1352400

***
Cobalt 8 решает эту задачу, отличается в этом от Cobalt 7?
стоит ли ради него срочно на Joomla 3.0 с 2.5 переходить, или можно 3.5 ждать спокойно?

Почитал здесь: Оптимизация ссылок http://cobalt-cck.ru/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D1%8F-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/853-sergey-romanov/40-%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA.html
однозначно не понял можно ли это именно так сделать встроенными средствами.
« Последнее редактирование: 19.07.2013, 15:24:07 от Prost »
*

Sergey Romanov

  • Moderator
  • 603
  • 19 / 0
Re: Cobalt 7
« Ответ #14 : 21.07.2013, 22:20:33 »
Cobalt 8 решает эту задачу, отличается в этом от Cobalt 7?
стоит ли ради него срочно на Joomla 3.0 с 2.5 переходить, или можно 3.5 ждать спокойно?
Однозначно стоит переходить на дужмла 3 и спокойно жадть 3,5.

В кобальте 8 и 7 реализация чпу одиноковая. И то как вы хотите нельзя сделать ручными средствами. Хотя попробуйет поставить параметры раздела и типа ссыки на меню. Может будут лучше урлы.  Ну и улючи можно скратить до 2 символов.
Лучший ССК всех времен Cobalt
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Cobalt Как отключить комментарии на странице стате?

Автор maikl1985

Ответов: 0
Просмотров: 2694
Последний ответ 30.01.2022, 14:19:28
от maikl1985
Cobalt 8 - Нужна помощь,Как убрать фильтрацию Sort By?

Автор maikl1985

Ответов: 0
Просмотров: 2726
Последний ответ 26.11.2021, 12:53:19
от maikl1985
Cobalt 9 Пред просмотр!

Автор Sergey Romanov

Ответов: 1
Просмотров: 4139
Последний ответ 02.11.2019, 00:05:15
от olivergreen
Cobalt 9 - когда ждать?

Автор Dimitrij

Ответов: 9
Просмотров: 5649
Последний ответ 27.03.2019, 07:36:15
от Sergey Romanov
Cobalt CCK - описание

Автор Alfiya Hasanova

Ответов: 18
Просмотров: 16145
Последний ответ 07.05.2017, 14:10:00
от Chigolberi