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

karasj

  • Новичок
  • 4
  • 0 / 0
Попробуй кодировку на сервере поменять на UTF-8
Помогло!
Большое спасибо!
*

alex_a_k

  • Захожу иногда
  • 381
  • 21 / 0
У меня стоит вот так, я ничего не менял:<field name="ref" type="text" label="COM_PROPERTIES_FIELD_REFERENCE_LABEL" description="COM_PROPERTIES_FIELD_REFERENCE_DESC" class="inputbox" size="30" disabled="true"/>

И свою референцию ввести нельзя, поле не активно.
Перепутал, извините...
Нужно убрать disabled="true".
type="hide" - это скрыть поле ваще.

P.S. В шапке поправил...
« Последнее редактирование: 12.11.2013, 23:41:00 от alex_a_k »
Не жмитесь на "+" в репу!
А так же на мелкий donate. ))
*

Bazilio

  • Осваиваюсь на форуме
  • 47
  • 2 / 0
Перепутал...
Нужно убрать disabled="true".
type="hide" - это скрыть поле.

Ну так я сразу это и сделал, и ввёл свою референцию . Просто были непонятки по вашей информации, поэтому и переспросил. Всё равно спасибо.
*

alex_a_k

  • Захожу иногда
  • 381
  • 21 / 0
Ну так я сразу это и сделал, и ввёл свою референцию . Просто были непонятки по вашей информации, поэтому и переспросил. Всё равно спасибо.
Я рад что помог.
Не жмитесь на "+" в репу!
А так же на мелкий donate. ))
*

elvin

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
  • Я Тигръ!
alex_a_k, вы знаете что с вами невозможно связаться?))) я отправляла лс - оно даже не появилось в исходящих. Я так понимаю его не было. И через форум написала на почту - и тоже вникуда))) вы получали хоть чтонибудь?
*

xucc

  • Новичок
  • 9
  • 0 / 0
Пожалуйста, кто-нибудь, помогите с отображением компонента поиска (переделка шаблона вертикального отображения поиска, с возможностью сворачивания/разворачивания формы - мой пост #683)!
alex_a_k, я вам написал письмо, недели две назад, скажите пожалуйста, оно пришло к вам? Или вы его видели и ответа на него нет?
*

Bazilio

  • Осваиваюсь на форуме
  • 47
  • 2 / 0
Не могу добавить объект, при сохранении пишет :"Сохранить не удалось из-за ошибки: Another Property has the same name" .  Вроде это было связано с Ref , прописал обратно в product.xml  строчку с "disabled="true"". Ни со своей референцией ни с другой объект не сохраняется. Что за  хня, уже голова отлетает от этого компонента. Каждый раз что то новое.

Нашёл, в корзине лежал удалённый объект с таким же REF.

Загрузил фотографии объекта, а он мне пишет:only will show first 0 images - На сайте фото не выводятся. Шо такое с этим компонентом, постоянно проблемы.
« Последнее редактирование: 15.11.2013, 21:35:16 от Bazilio »
*

xucc

  • Новичок
  • 9
  • 0 / 0
Ладно, задачу свою выполнил. Встала новая задача. Подскажите пожалуйста, как поменять местами пункты поиска? Какой файл править?
*

desasha

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Подскажите пожалуйста! Какие файлы можно редактировать, чтобы редактировать панель управления Объекта.... заранее спасибо
*

rudfox

  • Новичок
  • 2
  • 0 / 0
подскажите пожалуйста, после переноса сайта на другой хостинг перестала отображаться карта когда указываешь место. Т.е. прям в объявлении во вкладки КАРТА при клике чтоб указать координаты объекта всплывает просто модульное окно. А раньше прям карта в нем открывалась и можно было указывать место. Думаю что права может сбились, но не знаю где на какую папку они должны быть правильными. Помогите кто сможет...
*

arxip32

  • Новичок
  • 6
  • 0 / 0
Вы правы, Анастасия.
Просто на тот момент я очень устал, не спав уже более 2-х суток.
Сами понимаете, нервозность, раздражительность, усталость...
Вот и победили меня эмоции, сорвался...
Приношу всем свои извинения!
Вы уж тоже не серчайте на меня.
Это недоразумение...
Меня просто занесло слегка, а так я добрый, пушистый и быстро отходчивый...
;)

Надеюсь на ваше понимание и снисхождение!
И снова здравствуйте Alex.
Вот собираюсь переносить сайт сейчас с одного домена на другой. И опять фото не открываются.И снова появился htaccess с блокировкой всего, как я писал выше.Сейчас удалю и буду пробовать снова, но уже с тем, что вы мне написали( что надо вписать туда вместо того, что написано у меня.
*

DarkHacker

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
Здравствуйте. Попытаюсь обьяснить как я сделал поиск по этажам и собственно этажность. (ну и не первый и не последний)
Сначала в:

..../components/com_properties/controllers/modulesearchajax.php

После
Код
	if($extra18 = JRequest::getInt('e18', 0, 'post'))
{
$urlVars['e18'] = $extra18;
}
Вставляем

Код
	if($extra41 = JRequest::getInt('minfloor', 0, 'post'))
{
$urlVars['minfloor'] = $extra41;
}
if($extra42 = JRequest::getInt('maxfloor', 0, 'post'))
{
$urlVars['maxfloor'] = $extra42;
}
$urlVars['last_floor']=JRequest::getInt('last_floor', 0, 'post');
$urlVars['first_floor']=JRequest::getInt('first_floor', 0, 'post');

Этим мы указываем что опции 41 и 42 теперь наши. (тут я запорол глупость в плане программирования ибо 41 и 42 это Этажность всего и Этаж квартиры...ну по тексту далее поймете, захотите исправите.)

Далее в этом же файле в 366 строке вставляем

Код
$var['minfloor']=JRequest::getInt('minfloor','');
$var['maxfloor']=JRequest::getInt('maxfloor','');

После в этом же файле нужно вставить HTML код для всего этого добра)

в 684 строке я вставил
Код
<div class="price_search">
<div class="price_title">
<?php echo JText::_('MOD_PROP_SEARCH_FIELD_FLOOR');?>
</div>
<input type="text" class="input_price" name="minfloor" id="minfloor" value="<?php echo $var['minfloor'];?>" />
<label class="price_max"><?php echo JText::_('MOD_PROP_SEARCH_FIELD_PRICES_DIVISOR');?></label>
<input type="text" class="input_price" name="maxfloor" id="maxfloor" value="<?php echo $var['maxfloor'];?>" />
<br>
<br>
<input type="checkbox" name="last_floor" id="last_floor" value="1" <? echo $javascriptcheck.' '.$checked;?>/>&nbsp;<?php echo JText::_('MOD_PROP_SEARCH_FIELD_FLOOR_NOT_LAST');?><br>
<input type="checkbox" name="first_floor" id="first_floor" value="1" <? echo $javascriptcheck.' '.$checked;?>>&nbsp;<?php echo JText::_('MOD_PROP_SEARCH_FIELD_FLOOR_NOT_FIRST');?><br>

</div>

Теперь в /components/com_properties/models/list.php

После
Код
protected function populateState()
{
Вставляем

Код
global $e41_min,$e41_max,$first_floor,$last_floor;

И в 100 строке
Код
$e41_min = JRequest::getInt('minfloor',$e41_min);
$e41_max = JRequest::getInt('maxfloor',$e41_max);

$last_floor = JRequest::getInt('last_floor',$last_floor);
$first_floor = JRequest::getInt('first_floor',$first_floor);

После
Код
	$query->select('pt.published AS pt_published, pt.*');
$query->join('LEFT', '#__properties_products_translations AS pt ON pt.pt_pid = p.id AND pt.pt_langcode ="'.$thisLang.'"');
}

Вставляем

Код
                global $e41_min,$e41_max,$first_floor,$last_floor;

if (($e41_min!=0) AND ($e41_max!=0)) {
$query->where('(p.extra41 >= '.$e41_min.' AND p.extra41 <= '.$e41_max.')');
}
if ($first_floor)
{
$query->where('(p.extra41 > 1)');
}

if ($last_floor)
{
$query->where('(p.extra41 < p.extra42)');
}

Единственное что не описал, но было описано ранее, то что изменил название для полей в файлах перевода и добавил парочку новых.
Помог? Дайте плюсик)
Конец.
*

rudfox

  • Новичок
  • 2
  • 0 / 0
Поле Гараж не ставится число больше 127
я из этого поля сделал Кол-во земли. И даже если ставишь больше 127, например 370 то после сохранения автоматом ставится 127.

Как можно увеличить?
*

desasha

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
http://www.com-property.com/forum-v5/forum/index
Кто знает как тут зарегистрироваться......?!
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
http://www.com-property.com/forum-v5/forum/index
Кто знает как тут зарегистрироваться......?!
А зачем тебе там регистрироваться? Форум скорее мертв чем жив. Разраб уже давно не появляется в онлайн. Но если все-таки захочешь, то тут: http://www.com-property.com/
Сверху страницы увидишь.
*

desasha

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
А зачем тебе там регистрироваться? Форум скорее мертв чем жив. Разраб уже давно не появляется в онлайн. Но если все-таки захочешь, то тут: http://www.com-property.com/
Сверху страницы увидишь.
Проблема в том что я здесь писал... и мне никто не подсказал ничего.... вот думаю там подскажут...
А вообще я хочу отредактировать административную панель объекта... чтобы добавить дополнительную информацию
*

xucc

  • Новичок
  • 9
  • 0 / 0
Аналогичным образом жду помощи. Но не выходит. Очевидно придется искать другой компонент :(
*

1989medium

  • Новичок
  • 3
  • 0 / 0
Добрый день! Подскажите как и где перевести "Price list" в подробном описании, нужно перевести Price List, Name, From, To,PER_DAY, PER_WEEK.  Не смог найти где их переводить, всё перерыл и никакого результата...
Вот что мне надо перевести на русский.


*

1989medium

  • Новичок
  • 3
  • 0 / 0
Подскажите где и в каком файле переводить? или ссылку где это описано
*

1989medium

  • Новичок
  • 3
  • 0 / 0
Никто не знает?
*

Softman

  • Осваиваюсь на форуме
  • 41
  • 2 / 0
В частности нет возможности добавлять контент из FrontEnd (с сайта, без админки), отсутствует импорт/экспорт и иногда бывают проблемы с навигацией при включенном SEF
Тогда это не компонент, для агентств недвижимости, а баловство. Получается, если в агентстве работает 50 человек, всем необходимо давать допуск в админку для добавления объектов?  Ерунда.
*

Hikuro

  • Новичок
  • 1
  • 0 / 0
Добрый день. Не отображается кнопка добавить контакт. Также не отображается CAPTCHA в "Задать вопрос". Кто-нибудь сталкивался с такой проблемой?
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Подскажите где и в каком файле переводить? или ссылку где это описано
Ищи с помощью Total Commander. Проблем нет совсем.
*

sergserg9167

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Все перелопатил, но так и не нашел, а как сделать что бы были квадратные метры не целые цифры, а допустим 6.5 метра. Форум разработчиков тоже пытался исследовать, но английский не знаю, поэтому тяжело найти. Метры округляются до целых, а хочется что бы были после запятой тоже.
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
а как сделать что бы были квадратные метры не целые цифры, а допустим 6.5 метра. Форум разработчиков тоже пытался исследовать, но английский не знаю, поэтому тяжело найти. Метры округляются до целых, а хочется что бы были после запятой тоже.
Базы данных юзай. Типы полей.
« Последнее редактирование: 25.12.2013, 15:16:06 от dpvms »
*

ganiev_rf

  • Осваиваюсь на форуме
  • 16
  • 2 / 0
Проблема с IE и Мозилой решается с путем дописания:
Спойлер
[свернуть]
сразу после тега <head>  в файле index.php шаблона. С хромом пока не решил проблему
http://www.com-property.com/real-estate-software/search - Демо сайт. Нажми кнопку Search, а потом назад в браузере. Зависнит страница. У тебя так же на твоем сайте?

Здраствуйте! Я новичок в joomle. Знакомые попросили сделать сайт агенства недвижемости на Joomla. Я выбрал этот компонент для этого проекта. Ранее поднималась проблема, что в Chrome, когда вы задаете поиск объекта и переходите на страницу с результатами, а потом в браузере нажимаете кнопку назад, то в окне поиска отображается загруженная сейчас страница. Долго боролся с этой проблемой. Я в php только разбираюсь. Но всё заработало, когда в файле \modules\mod_prop_search\tmpl\vertical.php в  конец функции function goSearchAjax() вставить строку document.getElementById('task').value = 'ModuleSearchAjax.show'; . Это исправление мне позволило убрать данный баг.
*

Uzbagoitel

  • Захожу иногда
  • 70
  • 4 / 0
Можно тут немного подробней, что значит выводить любые модули и каким образом?
Это значит, что можно только в подробностях вывести любой модуль (к примеру "поделиться в социальных сетях").
Нужно всего лишь указать вывод только в этом пункте меню.

То же касается поиска.
« Последнее редактирование: 06.01.2014, 22:19:35 от Uzbagoitel »
*

Uzbagoitel

  • Захожу иногда
  • 70
  • 4 / 0
Не могу добавить объект, при сохранении пишет :"Сохранить не удалось из-за ошибки: Another Property has the same name" .  Вроде это было связано с Ref , прописал обратно в product.xml  строчку с "disabled="true"". Ни со своей референцией ни с другой объект не сохраняется. Что за  хня, уже голова отлетает от этого компонента. Каждый раз что то новое.

Нашёл, в корзине лежал удалённый объект с таким же REF.

Загрузил фотографии объекта, а он мне пишет:only will show first 0 images - На сайте фото не выводятся. Шо такое с этим компонентом, постоянно проблемы.

Название должно быть уникальным.
Я, к примеру, в дополнение там публикую номер договора.

Количество фоток задаётся в настройках в закладке агенты.
Поставь число побольше.
*

Uzbagoitel

  • Захожу иногда
  • 70
  • 4 / 0
Ладно, задачу свою выполнил. Встала новая задача. Подскажите пожалуйста, как поменять местами пункты поиска? Какой файл править?

В зависимости от шаблона в файле /modules/mod_prop_search/tmpl/horizontal.php или vertical.php
*

Uzbagoitel

  • Захожу иногда
  • 70
  • 4 / 0
Подскажите пожалуйста! Какие файлы можно редактировать, чтобы редактировать панель управления Объекта.... заранее спасибо

Редактируйте языковые файлы админки и сайта ru-RU.com_properties.ini .
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Анплюс Недвижимость: Готовый сайт для агентства недвижимости

Автор howks

Ответов: 40
Просмотров: 16425
Последний ответ 27.08.2025, 14:05:29
от howks
PPF 3 – компонент для продажи электронных товаров

Автор varX

Ответов: 0
Просмотров: 3039
Последний ответ 20.08.2022, 20:22:19
от varX
Импорт YML в Joomla 4

Автор Вадим НН

Ответов: 6
Просмотров: 3532
Последний ответ 11.07.2022, 11:35:15
от Вадим НН
Компонент недвижимости OS Property

Автор Ingener

Ответов: 110
Просмотров: 42178
Последний ответ 01.08.2021, 02:02:37
от cepseu
Систему биллинга для Joomla

Автор timofe

Ответов: 0
Просмотров: 3386
Последний ответ 23.03.2021, 14:00:52
от timofe