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

yaroslav87

  • Захожу иногда
  • 126
  • 1 / 0
Создал таки сайтик на www.new.site.ru. Подскажите, кто бывалый, как без "особых потерь" перенести его на www.site.ru
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: Перенос с поддомена на домен
« Ответ #1 : 30.01.2009, 10:02:45 »
средствами хостинговой панели копируете файлы в основную папку и в конфиг файле админки меняете абсолютный путь и адре сайта
*

yaroslav87

  • Захожу иногда
  • 126
  • 1 / 0
Re: Перенос с поддомена на домен
« Ответ #2 : 30.01.2009, 10:19:20 »
средствами хостинговой панели копируете файлы в основную папку и в конфиг файле админки меняете абсолютный путь и адре сайта

Спасибо! Буду пробовать
*

yaroslav87

  • Захожу иногда
  • 126
  • 1 / 0
Re: Перенос с поддомена на домен
« Ответ #3 : 30.01.2009, 22:59:03 »
средствами хостинговой панели копируете файлы в основную папку и в конфиг файле админки меняете абсолютный путь и адре сайта
Спасибо большое, все идеально получтлось :) +1
*

Maveric

  • Новичок
  • 6
  • 0 / 0
Re: Перенос с поддомена на домен
« Ответ #4 : 13.12.2011, 16:58:22 »
А вот у меня такой вопрос. Много тут всего перечитал, но у меня немного другая ситуация, не знаю точно, аналогично другим переносам тут надо делать или нет, подскажите.
Есть сайт имя.ru, его нужно скопировать на том же хостинге на другое_имя.ru
То есть я куплю другой адрес и у того же хостера будет сайт, только мне надо сначала скопировать уже существующий сайт и уже править его на другом имени.

Получится так если я просто скопирую все файлы из домашней папки и скопирую базы данных и просто переправлю в configuration.php все на новое имя, так получится? :)
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: Перенос с поддомена на домен
« Ответ #5 : 14.12.2011, 00:35:46 »
Да. Информация в БД никоим образом не привязывается к домену. Единственным источником о местоположении ваших файлов является configuration.php

Но стоит учесть еще такие моменты:
1. измененный и расширенный .htaccess
2. наличие сторонних SEF-компонент
3. и возможно оригинальную настройку вирт. хоста Апача.
*

Maveric

  • Новичок
  • 6
  • 0 / 0
Re: Перенос с поддомена на домен
« Ответ #6 : 14.12.2011, 11:08:13 »
В общем все перенес, скопировал все файлы и папки в домашнюю папку.
Создал базу данных в панели управления хостера, создал пользователя БД, я так понимаю он должен быть такой же который указан в configuration.php и пароль тоже.
При импортировании БД выдает следующее

Цитата
Ошибка
SQL-запрос:

-- -- Дамп данных таблицы `jos_banner` -- INSERT INTO `jos_banner` (`bid`, `cid`, `type`, `name`, `imptotal`, `impmade`, `clicks`, `imageurl`, `clickurl`, `date`, `showBanner`, `checked_out`, `checked_out_time`, `editor`, `custombannercode`) VALUES (1, 1, 'banner', 'CMS Joomla â Ðîññèè', 0, 50, 0, 'joom_ru-468x60.jpg', 'http://joom.ru/', '2006-12-25 15:31:29', 0, 0, '0000-00-00 00:00:00', NULL, NULL), (2, 1, 'banner', 'Ðà ñøèðåíèÿ CMS Joomla', 0, 44, 0, 'joom_ru-468x60.jpg', 'http://ext.joom.ru/', '2006-12-25 15:31:29', 0, 0, '0000-00-00 00:00:00', NULL, NULL), (3, 1, 'banner', 'Ïîääåðæêà CMS Joomla â Ðîññèè', 0, 50, 0, 'joom_ru-468x60.jpg', 'http://joomla-support.ru/', '2006-12-25 15:31:29', 0, 0, '0000-00-00 00:00:00', NULL, NULL), (4, 1, 'banner', 'Äîêóìåíòà öèÿ CMS Joomla', 0, 53, 0, 'joom_r[...]

Ответ MySQL: Документация
#1062 - Duplicate entry '1' for key 1
Что это?

Еще при импортировании написано надо кодировку CP-1251 выставить, у меня так такого нет, по умолчанию выставлено utf-8, а в списке похожее есть только Windows-1251
И еще по инструкции выше, написано про AUTO_INCREMENT, а где их там смотреть то я не понял?
« Последнее редактирование: 14.12.2011, 22:01:44 от Maveric »
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: Перенос с поддомена на домен
« Ответ #7 : 14.12.2011, 22:47:21 »
Для начала, вы какую версию движка переносите? 1,0 или 1,5?
Если 1.0, то выставить нужно Windows-1251, а сам sql-файл был в кодировке utf-8
*

Maveric

  • Новичок
  • 6
  • 0 / 0
Re: Перенос с поддомена на домен
« Ответ #8 : 14.12.2011, 22:52:39 »
1.0.15 версия.

Такс, вроде получилось все, буду проверять.

В одной из инструкций по переносу написано следующее:

Цитировать
ОБЯЗАТЕЛЬНО после импортирования ПРОКОНТРОЛИРУЙТЕ, все ли AUTO_INCREMENT импортировались почти во все таблицы.

У некоторых версий MySQL возникают проблемы с экспортом и про auto_increment просто забывается. Проблемы обычно появляются позднее - при создании новых пунктов меню, статей, установке расширений и т.п. - ничего не создается и не устанавливается, при этом Joomla! ругается на дублирование первичного ключа таблицы БД.

Чето я вообще в таблицах БД такого не вижу нигде названия, где это смотреть и проверять?
« Последнее редактирование: 14.12.2011, 23:03:53 от Maveric »
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: Перенос с поддомена на домен
« Ответ #9 : 15.12.2011, 00:00:49 »
Забейте :) У меня такого ни разу не проявлялось.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенос сайта Joomla с localhost на сервер (хостинг)

Автор ilya18

Ответов: 7
Просмотров: 6342
Последний ответ 17.05.2010, 12:03:47
от ilya18
Перенос сайта с одного компа на другой

Автор Irisha

Ответов: 3
Просмотров: 2774
Последний ответ 15.07.2009, 23:58:53
от Irisha
Перенос сайта с сервера на сервер одного хостера.

Автор Coffesi

Ответов: 2
Просмотров: 1933
Последний ответ 05.06.2009, 15:05:03
от Coffesi
Перенос пользователей из Joomla 1.0.12 RE (Russian Ed) на Joomla 1.0.15 RE и Joomla 1.0.15 LE (Lavra

Автор extravaganza

Ответов: 7
Просмотров: 2440
Последний ответ 09.02.2009, 09:55:55
от Lord Glue
Перенос сайта на CD или DVD ?

Автор Agent-vi

Ответов: 9
Просмотров: 3520
Последний ответ 18.01.2009, 02:04:01
от ShadowXak