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

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Товарищи, подскажите пожалуйста, как убрать цифру 1, которая отображается на главной странице и на опубликованных материалах? Собственно на главной странице тоже опубликован материал.
Вот кусочек HTML кода:
<div class="art-Post-inner">
<div class="art-PostContent">
1<div class="art-article"><p> </p>       <--- мне кажется, что вот это, та самая еденица.
<table border="0">
<tbody>

*

iluho

  • Давно я тут
  • 605
  • 50 / 4
  • Гламурный КабанчеГ
Re: Как убрать непонятный элемент?
« Ответ #1 : 10.09.2010, 03:26:36 »
дайте сайт пожалуйста
Милый и порядочный! Верьте мне во всем!
*

iluho

  • Давно я тут
  • 605
  • 50 / 4
  • Гламурный КабанчеГ
Re: Как убрать непонятный элемент?
« Ответ #2 : 10.09.2010, 03:27:49 »
так погодите. если она в коде есть, что вы приводите. может ее просто убрать в коде и не париться?:))
Милый и порядочный! Верьте мне во всем!
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #3 : 10.09.2010, 03:36:20 »
К сожалению нет ссылки на сайт, он пока на локальном компе. Сейчас попробую картинку залить.
Ну убрать наверно можно, но хотелось бы разобраться от куда эта цифра вообще вылезла.
*

iluho

  • Давно я тут
  • 605
  • 50 / 4
  • Гламурный КабанчеГ
Re: Как убрать непонятный элемент?
« Ответ #4 : 10.09.2010, 03:39:38 »
К сожалению нет ссылки на сайт, он пока на локальном компе. Сейчас попробую картинку залить.
Ну убрать наверно можно, но хотелось бы разобраться от куда эта цифра вообще вылезла.


так уберите ее и все:) может случайно клавишу задели:)
Милый и порядочный! Верьте мне во всем!
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #5 : 10.09.2010, 03:45:58 »
Не, в коде я ничего не писал. От куда она появилась ума не приложу.
Вот скрин
1.jpg.html
« Последнее редактирование: 10.09.2010, 03:56:22 от Ugend »
*

iluho

  • Давно я тут
  • 605
  • 50 / 4
  • Гламурный КабанчеГ
Re: Как убрать непонятный элемент?
« Ответ #6 : 10.09.2010, 03:51:13 »
Не, в коде я ничего не писал. От куда она появилась ума не приложу.
Вот скрин
1.jpg.html
скрин скачивать надо:)) на радикал бы разместили что ли. удаляйте единицу и все. откуда она вылезла по любому не выяснить:))
Милый и порядочный! Верьте мне во всем!
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #7 : 10.09.2010, 03:56:56 »
В самом index.php я не нашел данной строчки.
Этот код, кусочек которого я привел, я смотрю следующим образом, правой кнопкой по странице и выбираю "просмотр HTML-кода"



Дело в том, что единица эта выскакивает только в материалах. В опубликованных категориях и разделах ее нет.
*

iluho

  • Давно я тут
  • 605
  • 50 / 4
  • Гламурный КабанчеГ
Re: Как убрать непонятный элемент?
« Ответ #8 : 10.09.2010, 04:00:06 »
вы еще не удалили единичку? рассматриваете ее со всех сторон, определяете откуда взялась. может все же удалить?
Милый и порядочный! Верьте мне во всем!
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #9 : 10.09.2010, 04:04:23 »
Да я бы с удовольствием, вот только не могу найти, где ее удалять.))
*

iluho

  • Давно я тут
  • 605
  • 50 / 4
  • Гламурный КабанчеГ
Re: Как убрать непонятный элемент?
« Ответ #10 : 10.09.2010, 04:06:46 »
Да я бы с удовольствием, вот только не могу найти, где ее удалять.))

firebug поможет
Милый и порядочный! Верьте мне во всем!
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #11 : 10.09.2010, 04:11:06 »
Я так понимаю, что эту единицу мне придется удалять более чем в двух десятков материалов?
И в дальнейшем при создании нового материала опять лезть в код и ручками править?
*

iluho

  • Давно я тут
  • 605
  • 50 / 4
  • Гламурный КабанчеГ
Re: Как убрать непонятный элемент?
« Ответ #12 : 10.09.2010, 04:18:50 »
совершенно не обязательно. она может в одном месте существовать. посмотрите в FireBug и определите. и вообще странно. откуда Joomla качали, с какого сайта, что за сборка? если такие глюки возникают, то по любому с неофициального сайта, так что там еще сюрпризы могут быть
Милый и порядочный! Верьте мне во всем!
*

GDV

  • Завсегдатай
  • 1898
  • 201 / 5
Re: Как убрать непонятный элемент?
« Ответ #13 : 10.09.2010, 04:21:18 »
странно от куда она взялась вообще. если она в php то достаточно удалить раз. Если только в материалах то ковыряйте вывод материалов.
Как писал выше iluho установите в мозилу данный плагин и найдите от куда она берется. если у вас опера то правой кнопкой мыши и нажать проинспектировать элемент.
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #14 : 10.09.2010, 04:50:29 »
Сборку 1.5.20 качал с оф. сайта. Потом руссифицировал, но никаких глюгов я не наблюдал.
Потом установил VMart, сделал витрину, добавил товар, а потом начал уже добавлять материалы и выводить их через меню. Когда и в какой момент появилась эта единица сказать не могу, долго не смотрел на результат работы.
Вывод материалов перековырял )) но тщетно.
FireBug'ом не пользовался до этого. Я выделил эту единицу и правой кнопкой по ней и выбрал Анализировать элемент. Как и предполагал он мне выдал уже знакомый кусочек кода, из него я удалил эту единицу, но после обновления страницы она опять появляется.
Короче я так и не понял, как удалить эту единицу.
*

iluho

  • Давно я тут
  • 605
  • 50 / 4
  • Гламурный КабанчеГ
Re: Как убрать непонятный элемент?
« Ответ #15 : 10.09.2010, 04:56:20 »
поковыряйтесь в FireBug тут все от вас зависит, потому как на локалке все. от многих факторов зависеть может почему и где она появляется. если бы на хостинге был сайтик, то мгновенно бы определили что и где.
Милый и порядочный! Верьте мне во всем!
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #16 : 10.09.2010, 21:19:38 »
Короче наковырял следующее, что эта единица, какая-то длина. А вот как ее удалить я не понял.
Ковырялся в phpшках в папке com_content-->view-->article, т.к. на сколько я понял, что именно этот компонент отвечает за вывод именно материалов, но и там ничего не нашел.

*

Kverde3

  • Захожу иногда
  • 239
  • 19 / 3
Re: Как убрать непонятный элемент?
« Ответ #17 : 10.09.2010, 21:25:29 »
Прикрепите к посту шаблон, может кто найдет, думаю, так быстрее будет :)
*

iluho

  • Давно я тут
  • 605
  • 50 / 4
  • Гламурный КабанчеГ
Re: Как убрать непонятный элемент?
« Ответ #18 : 10.09.2010, 21:27:20 »
Прикрепите к посту шаблон, может кто найдет, думаю, так быстрее будет :)

опередил меня. я тоже хотел сейчас это же написать да ждем шаблон сюда:)
Милый и порядочный! Верьте мне во всем!
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #19 : 10.09.2010, 21:46:00 »
http://rapidshare.com/files/418280148/a543.rar

PS Я не думаю, что тут виновен шаблон, т.к. данная проблема сохраняется даже, если я меняю шаблон на какой либо другой.
PPS Вопрос, а можно ли переустановить Jooml'у и VMart так, чтобы сохранить все, что я насоздавал?
« Последнее редактирование: 10.09.2010, 22:05:25 от Ugend »
*

GDV

  • Завсегдатай
  • 1898
  • 201 / 5
Re: Как убрать непонятный элемент?
« Ответ #20 : 10.09.2010, 22:32:22 »
все что насоздали хранится в базе. переустановите все и импортируйте базу. естествеено перед сносом сохраните ее, что бы было что импортировать.
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #21 : 10.09.2010, 23:11:33 »
Ну это само собой. Я имел ввиду придется ли мне в Joomla заного создавать Категории, Разделы, Материалы, делать меню и в VMart'е создавать Категории, Товары и т.д или же просто мне достаточно заного установить Joomla, через phpmyadmin импортировать БД и все чудесным образом появится в Joomla?
*

GDV

  • Завсегдатай
  • 1898
  • 201 / 5
Re: Как убрать непонятный элемент?
« Ответ #22 : 10.09.2010, 23:31:16 »
Да. Всмысле все появится. Только картинки пропадут если таковые были.
Что бы они снова появились, нужно картинки по новой залить туда где они сейчас.
Остальное, в частности настройки и прочее чисто в базе
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #23 : 11.09.2010, 00:51:27 »
В общем я экспортировал БД, удалил ее из phpmyadmin, переместил оригинальные файлы сайта в другое место на всякий случай, распаковал по новой Jooml'у, проинсталлировал ее, руссифицировал, поставил VMart, шаблоны для Jooml'ы и VMart'а, импортировал БД, перенёс все картинки в Jooml'у и VMart. Проверил, вроде все работает, злосчастная еденица исчезла, ураааа. Но потом начались глюки в админке VMart'а. Думал его переустановить, удалил компонент, выдал какую-то ошибку. В итоге я удалил эту Jooml'у и просто скопировал назад свою предыдущую версию. Единичка появилась опять, и еще в админке во вкладке Компоненты исчез VMart. (((
Вот теперь думаю, как его туда опять добавить. А что будет если я снова проинсталлирую VMart, как это скажется на уже имеющихся данных, какие могут быть последствия?
*

iluho

  • Давно я тут
  • 605
  • 50 / 4
  • Гламурный КабанчеГ
Re: Как убрать непонятный элемент?
« Ответ #24 : 11.09.2010, 01:04:17 »
эххх. ваш вопрос достаточно объемный, к сожалению. на него никто не ответит, а если и ответит то обрывочно. понимаете, тут надо реально смотреть ситуацию и конерктный пример смотреть. вот смотрите, при переустановке Joomla единичка исчезла. это хорошо. но потом вы переустановили Вирт и. как вы говорите, возникла некая ошибка и вы все вернули на место и единичка появилась. Вы лучше не торопитесь, а поэтапно все делайте и задавайте вопросы тут по мере возникновения проблем. какая ошибка в вирте возникла после переустановки Joomla? непонятно.. а вы вернули как все было:))
Милый и порядочный! Верьте мне во всем!
*

GDV

  • Завсегдатай
  • 1898
  • 201 / 5
Re: Как убрать непонятный элемент?
« Ответ #25 : 11.09.2010, 02:28:25 »
История из разряда 1000 и одна ночь.
Гадаем на кофейней гуще.

Скорее всего вы полную базу импортировали. Когда востанавливали, залили базу обратно, но... Что то не до установили, а так как в базе это что то уже есть, вот и пошел конфликт.
В вашем случае лучше базу не целиком заливать а частями. Импортируйте только структуру меню, контент и базу магазина.
Картинки тоже на место верните.
Предпологаю что это что то (что не до установили) и вызвало единичку. При том что это либо очень криво написано, либо что то варезное и доведенное до ума каким то умельцем. Таким способом можно на более большие неприятности попасть.
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #26 : 11.09.2010, 02:43:01 »
В итоге я все действия провел заного. Перед импортом БД я установил всё, что было установленно в оригинале, перенес все картинки, короче во второй раз педантично подошел к вопросу. И только потом импортировал БД, рестартнул Денвер и вроде бы все хорошо, все на своих местах, единички опять нет, но зараза VMart при попытке зайти в свойства будь то товара или же категории товара выдет ошибку(см. скрин).
Наверно придется просто восстанавливать материалы, а VM создавать заного.

PS А самое обидное это то, что на сайте то все в полном порядке.
PPS to GDV Я все делал еще до вашего поста, так что скорее всего я так и сделаю, буду импортировать БД по частям. (сразу вопрос, а как импортировать по частям, если БД у меня одним файлом?)
PPS Варезного ничего не ставил. Ставил только VM, JCE, aiContactSafe, шаблон, пакеты руссификации и усё.
« Последнее редактирование: 11.09.2010, 03:14:53 от Ugend »
*

GDV

  • Завсегдатай
  • 1898
  • 201 / 5
Re: Как убрать непонятный элемент?
« Ответ #27 : 11.09.2010, 03:14:47 »
Ну по скину видно что матюк идет на редактор. + все не в utf-8
На денвере не помню уже как. давно с ним не работаю.
в phpMyAdmin при экспорте можно выбрать что копировать а что нет.
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

Ugend

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как убрать непонятный элемент?
« Ответ #28 : 11.09.2010, 05:50:05 »
В общем перепробовал я мноооооожество различных вариантов импорта/экспорта БД, раз 15 при этом переустанавливал Jooml'у, испробовал различные варианты...
...короче описывать то, что я переделал не хватит страниц форума)))))
Единственное, что можно из всего этого вынести это то, что эта ошибка с единичкой точно не зависит от шаблона, БД и т.д., т.к. при новой инсталляции Jooml'ы, различных компонентов, шаблонов и импорта БД, единичка не проявляется, проявляется только косяк с редактором (не возможно ничего редактировать, создавать и т.д.)
Значит надо искать ошибку в самой Jooml'е, но вот где?
*

Kverde3

  • Захожу иногда
  • 239
  • 19 / 3
Re: Как убрать непонятный элемент?
« Ответ #29 : 11.09.2010, 08:14:53 »
В Джумуле нет лишней единички :)  Попробуйте такой способ: отключайте все расширения, особенно плагины. Если она из-за них то можно вычислить из-за какого.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 3656
Последний ответ 12.11.2023, 23:37:03
от all_zer
Как убрать ссылку на allforjoomla.ru из модуля SimpleForm2?

Автор Loh

Ответов: 3
Просмотров: 3034
Последний ответ 20.06.2017, 11:17:28
от ZyX
Подскажите - сайт стал в фронтэнде выводить ошибку. Как ее убрать

Автор vovchikku

Ответов: 7
Просмотров: 1992
Последний ответ 30.01.2017, 10:35:49
от vovchikku
Как убрать похожие видео

Автор nuk

Ответов: 7
Просмотров: 4075
Последний ответ 21.02.2016, 16:30:29
от halileev
Как убрать отступ?

Автор Alger48

Ответов: 9
Просмотров: 2020
Последний ответ 17.02.2016, 21:53:15
от Alger48