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

7Azimuth

  • Захожу иногда
  • 380
  • 17 / 1
Подскажите где найти такую кнопку, которая отображалась бы на всех страницах сайта и по нажатию на которую происходил бы переход на самый вверх.
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Кнопка поднятия наверх страницы?
« Ответ #1 : 18.04.2011, 17:33:27 »
пропиши javascript в шаблоне index.php в самом низу и якорь события с верху пропиши
кнопку стилями
вот и все
*

7Azimuth

  • Захожу иногда
  • 380
  • 17 / 1
Re: Кнопка поднятия наверх страницы?
« Ответ #2 : 18.04.2011, 17:35:30 »
А может где-то здесь есть готовые решения?
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Кнопка поднятия наверх страницы?
« Ответ #3 : 18.04.2011, 17:48:16 »
две строки js кода
готовые решения обычно в шаблонах лежат  ^-^
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Кнопка поднятия наверх страницы?
« Ответ #4 : 17.01.2012, 21:42:28 »
пропиши javascript в шаблоне index.php в самом низу и якорь события с верху пропиши
кнопку стилями
вот и все
а выложить свой жава моно? Я вообще не бум бум! А нада именно то что ты походу говоришь, тк плагины ToTop имеет конфликт с моими плагинами, поэтому надо прописывать просто и ясно как наверно предлагаешь

Выложи кодик, ну или ткни носом! очень нада, на сайте Доооофига больших таблиц
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Кнопка поднятия наверх страницы?
« Ответ #5 : 17.01.2012, 21:58:41 »
<a href="#">Наверх</a>
« Последнее редактирование: 17.01.2012, 22:02:02 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Кнопка поднятия наверх страницы?
« Ответ #6 : 17.01.2012, 22:02:02 »
не в тему)
нашел в Google это:


Код
<!-- this script got from www.javascriptfreecode.com-Coded by: Krishna Eydat -->
<!-- START OF Watermark Jump to Top Link DHTML -->


<!-- SUMMARY BRIEF

This DHTML script will put a small watermark
link in the bottom right corner of your page
that will stay there even when the page scrolls.
This link will always take the user back to
the top of the page.

-->


<!-- Put this portion of the script inside of your <HEAD> tag -->


<script>
<!--

// Change this text to the text that you want to be displayed as the link on your page.

var displayed="<nobr><font size=2 face=Arial><b>[Top]</b></font></nobr>"

// === DO NOT EDIT ANYTHING BELOW THIS LINE! === //

var logolink='javascript:window.scrollTo(0,0)'
var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all

function regenerate(){
window.location.reload()
}
function regenerate2(){
if (ns4)
setTimeout("window.onresize=regenerate",400)
}

if (ie4||ns6)
document.write('<span id="logo" style="position:absolute;top:-300;z-index:100">'+displayed+'</span>')

function createtext(){ //function for NS4
staticimage=new Layer(5)
staticimage.left=-300
staticimage.document.write('<a href="'+logolink+'">'+displayed+'</a>')
staticimage.document.close()
staticimage.visibility="show"
regenerate2()
staticitns()
}

function staticit(){ //function for IE4/ NS6
var w2=ns6? pageXOffset+w : document.body.scrollLeft+w
var h2=ns6? pageYOffset+h : document.body.scrollTop+h
crosslogo.style.left=w2
crosslogo.style.top=h2
}

function staticit2(){ //function for NS4
staticimage.left=pageXOffset+window.innerWidth-staticimage.document.width-28
staticimage.top=pageYOffset+window.innerHeight-staticimage.document.height-10
}

function inserttext(){ //function for IE4/ NS6
if (ie4)
crosslogo=document.all.logo
else if (ns6)
crosslogo=document.getElementById("logo")
crosslogo.innerHTML='<a href="'+logolink+'">'+displayed+'</a>'
w=ns6? window.innerWidth-crosslogo.offsetWidth-20 : document.body.clientWidth-crosslogo.offsetWidth-10
h=ns6? window.innerHeight-crosslogo.offsetHeight-15 : document.body.clientHeight-crosslogo.offsetHeight-10
crosslogo.style.left=w
crosslogo.style.top=h
if (ie4)
window.onscroll=staticit
else if (ns6)
startstatic=setInterval("staticit()",100)
}

if (ie4||ns6){
window.onload=inserttext
window.onresize=new Function("window.location.reload()")
}
else if (ns4)
window.onload=createtext

function staticitns(){ //function for NS4
startstatic=setInterval("staticit2()",90)
}

//-->
</script>


<!-- END OF Watermark Jump to Top Link DHTML -->


а кто то писал 2 строчки  :laugh:
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Кнопка поднятия наверх страницы?
« Ответ #7 : 17.01.2012, 22:04:44 »
а кто то писал 2 строчки  :laugh:

Постом выше я обошлась одной   ;)
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dim66

  • Осваиваюсь на форуме
  • 49
  • 4 / 0
Re: Кнопка поднятия наверх страницы?
« Ответ #8 : 17.01.2012, 22:05:38 »
Подскажите где найти такую кнопку, которая отображалась бы на всех страницах сайта и по нажатию на которую происходил бы переход на самый вверх.
Ставь К2. Там автоматом такая БэкТуТоп стоит. Еле переименовал её :)
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Кнопка поднятия наверх страницы?
« Ответ #9 : 17.01.2012, 22:07:27 »
Ставь К2. Там автоматом такая БэкТуТоп стоит. Еле переименовал её :)
ну и совет :) я столько инфы набил в ком-контент а ты мне прелагаешь все бросить и РАДИ скрол ту топ перейтина К2 :laugh:


я разобрался :) все пашет
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Кнопка поднятия наверх страницы?
« Ответ #10 : 17.01.2012, 22:10:26 »
<a href="#">Наверх</a>
аааааа, как все просто! +1 вот сразу бы сразу бы написали  >:( А то по форуму ищу а там только и говорят : " да тут 2 строчки ява скрипта и все"
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

dim66

  • Осваиваюсь на форуме
  • 49
  • 4 / 0
Re: Кнопка поднятия наверх страницы?
« Ответ #11 : 17.01.2012, 22:12:49 »
Правда разобрался? Тогда скажи как мне её отключить?)))))))
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Кнопка поднятия наверх страницы?
« Ответ #12 : 17.01.2012, 22:18:47 »
Правда разобрался? Тогда скажи как мне её отключить?)))))))
это шутка или как? :)
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

dim66

  • Осваиваюсь на форуме
  • 49
  • 4 / 0
Re: Кнопка поднятия наверх страницы?
« Ответ #13 : 17.01.2012, 22:22:17 »
Серьезно, без шуток. Все настройки К2 облазил, не нашел выключения....хотя наверно лучше спросить на профильном по К2.
Можно хакнуть, но заело просто! Как выключить этот подъем вверх стандартно?
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Кнопка поднятия наверх страницы?
« Ответ #14 : 17.01.2012, 22:24:45 »
хотя наверно лучше спросить на профильном по К2.
это точно,

я к2 один раз в жизни ставил (это было давно и не правда), и то он мне на понравился

ПыСы: я вообще то имел ввиду обычный ком-контент
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

IgorM

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Кнопка поднятия наверх страницы?
« Ответ #15 : 30.01.2012, 13:57:38 »
<a href="#">Наверх</a>
Спасибо,всё просто и работает.
Вопрос.
А как поставить вспывающую кнопку "на верх" (на этом сайте http://www.zoovet.ru/animals.php?vid=119 подобное, всплывает,когла опускаешься вниз)
« Последнее редактирование: 30.01.2012, 14:05:02 от IgorM »
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Кнопка поднятия наверх страницы?
« Ответ #16 : 30.01.2012, 14:02:42 »
Цитировать
Серьезно, без шуток. Все настройки К2 облазил, не нашел выключения.
она должна быть в настройках шаблона   в админке  называется to top(может быть как модулем так и плагином или же в шаблоне сайте)

Цитировать
А как поставить вспывающую кнопку "на верх"
вот есть специальный плагин, вообще их целое море, если поискать
http://extensions.joomla.org/extensions/structure-a-navigation/site-navigation/16807?qh=YTo5OntpOjA7czoyOiJ0byI7aToxO3M6MzoidG9zIjtpOjI7czozOiJ0byciO2k6MztzOjM6InRvcCI7aTo0O3M6NToiJ3RvcCciO2k6NTtzOjQ6InRvcCciO2k6NjtzOjQ6Iid0b3AiO2k6NztzOjQ6InRvcHMiO2k6ODtzOjY6InRvIHRvcCI7fQ%3D%3D


ищи здесь все что связано с to top
http://extensions.joomla.org/extensions/structure-a-navigation/site-navigation
*

IgorM

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Кнопка поднятия наверх страницы?
« Ответ #17 : 01.02.2012, 19:22:33 »
Спасибо!
Выбрал из всех плагинов J2Top,поставил и так сильно стал грузить систему и я его закрыл
Может кто нибудь посоветовать проверенный плагин,кнопки -на верх (интересен вариант,когда опускаешься вниз,тогда всплывает -на верх)
*

Jons$

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Кнопка поднятия наверх страницы?
« Ответ #18 : 02.02.2012, 00:13:30 »
плагины поищите такие есть
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Re: Кнопка поднятия наверх страницы?
« Ответ #19 : 23.05.2013, 13:12:16 »
Постом выше я обошлась одной   ;)
Подскажи пожалуйста, какой js код прописать, чтобы по меньше писанины было. А то тут советуют <a href="#">Наверх</a>, что не подходит по определению, так как кнопка перекидывает страницу не плавно, как хотелось бы, а резким перескакиванием как не на надо. В сети нашел длинный js-код, поставлю пока что его. На время, потому как движусь по пути оптимизации сайта, не хочу грузить сайт и ищу более оптимального решения. Если поможешь буду очень рад. Заранее спасибо.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Кнопка поднятия наверх страницы?
« Ответ #20 : 23.05.2013, 13:19:56 »
Сколько тем по мелочам. http://joomlaforum.ru/index.php/topic,263092.0.html
*

Irvin37

  • Новичок
  • 2
  • 0 / 0
Re: Кнопка поднятия наверх страницы?
« Ответ #21 : 27.01.2015, 18:31:47 »

 Подскажите, пожалуйста. Как отключить в мобильном варианте значок поднятия наверх.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

php скрипт для вызова url адреса открытой страницы

Автор bigrash

Ответов: 10
Просмотров: 6587
Последний ответ 17.02.2024, 20:12:05
от Vastriet
Вместо некоторых разделов стали отображаться пустые страницы

Автор ch

Ответов: 0
Просмотров: 1202
Последний ответ 04.12.2020, 15:07:27
от ch
Страницы не прогружаются до конца

Автор HeroYukki

Ответов: 0
Просмотров: 1305
Последний ответ 11.09.2018, 21:12:00
от HeroYukki
Вместо главной страницы - содержимое файла корневого каталога index.php

Автор Igoritaly

Ответов: 2
Просмотров: 2065
Последний ответ 10.08.2017, 17:03:57
от Gosha5767
Не открываются некоторые страницы сайта

Автор nadin

Ответов: 5
Просмотров: 1877
Последний ответ 12.04.2017, 18:34:22
от SeBun