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

small

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
База недвижимости на Joomla + ? (расширения).
Подскажите как реализовать на Joomla базу недвижимости?
Алгоритм вижу такой:
Внешний вид:
1.Главная с описанием сервиса.
2.База (в виде таблицы в Excel) с возможностью сортировки по колонкам.
3.При нажатии "на строку" объекта - возможность просмотра "полной информации" об объекте.
4.Расширенный поиск.
5.Кабинет пользователя, где он видит все свои объявления и может их редактировать (поштучно).
6.Возможность экспорта/импорта своих объявлений (в кабинете пользователя) в формате .xls (текстовые данные + картинки),
  для массового влива данных + возможно их обновления.
7.Информация в БД размещается пользователями самостоятельно (с фронтенда, после залогинивания).
8.Добавление объявления:поля заранее "сконструированы (выпадающее меню + чекбоксы)", за искючением поля "доп.информация".
  Отображение объявления в БД (для риэлторов - сразу, для "не риэлторов" - после проверки).
9.В зависимости от "Типа объекта", поля для заполнения свои + у пользователя нет возможности ввести отсебятину,
  так как все поля "заранее сконструированные меню" за исключением поля "дополнительная информация".
10.Поле "дополнительная информация" - проверяется регулярками на спам.

Незарег. пользователь:
1.Может производить все манипуляции с БД (за исключением просмотра контактов).
2.Зарегистрироваться на сайте, получив "одобрение" в ручную (после проверки модератором).
3.Зарегистрироваться как "риэлтор" или "не риэлтор".
4.При регистрации "для риэлторов" - одна форма (данных побольше), для "не риэлторов" - другая (упрощенная).
5.Размещать только 1 объявление "о покупке" и 1 объявление "о продаже", которое публикуется только после проверки модератором.
  Срок размещения объявления 7 дней, затем оно автоматически скрывается и для его "возобновления" необходимо зайти на сайт и
  продлить из объявление из админки.
6.Телефон "не риэлтора" не публикуется. Ссвязь "с не риэлтором" только по средством сайта.

Зарег.пользователь:
1.Бывает 2-х типов. Тип №1 - "риэлтор" и Тип №2 - "не риэлтор".
2.Риэлтор - не имеет ограничений на количество/сроки объявлений и свои контактные данные публикует/не публикует (в настройках по желанию).
  По дефолту у риэлтора стоит "отображать все данные".
  Связь с "риэлтором" посредством телефона и лички (копия в личной переписке и отправка письма на мыло риэлтора).
  Непосредственно e-mail риэлтора на сайте ни где не светится!
  Возможность заливки в БД данных (скопом) из файла xls (данные текстовые поля + картинки).

Конечно это не весь алгоритм, который необходим.
Вопрос:какими средствами (компонентами) можно реализовать (хотя бы часть) на Joomla?

Если кто то делал БД для недвижимости на Joomla - готов рассмотреть ваши предложения (после просмотра готовых проектов).
 
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
Re: Компоненты для БД недвижимости
« Ответ #1 : 17.01.2012, 11:33:02 »
- Joomla Estate Agency;
- Estate Agent;
- EZ Realty;
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

Fat

  • Захожу иногда
  • 479
  • 25 / 0
  • Разрабатываю компоненты для Joomla
Re: Компоненты для БД недвижимости
« Ответ #2 : 23.01.2012, 16:10:10 »
nCatalogues
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Re: Компоненты для БД недвижимости
« Ответ #3 : 27.01.2012, 09:56:30 »
IProperty - хороший компонент, с экспортом-импортом не возился, но привязка к карте Googlemaps имеется.
*

igor33

  • Захожу иногда
  • 153
  • 1 / 0
Re: Компоненты для БД недвижимости
« Ответ #4 : 26.05.2012, 17:28:11 »
- Joomla Estate Agency;
- Estate Agent;
- EZ Realty;

а в каком нибудь из этих есть возможность импортировать объявления из ксв или другим способом?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Кто сталкивалса с компонентом недвижимости com-properties v4

Автор vitalikxp

Ответов: 1
Просмотров: 1759
Последний ответ 11.10.2013, 00:22:16
от artrush
ССК/Объявления/Спец.компоненты для Недвижимости

Автор gAs

Ответов: 12
Просмотров: 4875
Последний ответ 13.03.2013, 13:08:01
от alex_a_k
что за компонент com_mynmls на сайте недвижимости?

Автор rem

Ответов: 4
Просмотров: 2699
Последний ответ 16.05.2012, 09:00:23
от rem