Новости Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

👩‍💻 SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla.Компонент - менеджер цифровых проектов для Joomla! CMS. Компонент обеспечивает создание каталога цифровых проектов и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей.👩‍💻 v.2.5.0. Что нового?Схемы структур данных для серверов обновлений. Теперь с SW JProjects вы может создавать сервер обновлений не только для расширений Joomla, но и свои собственные. Например, вам нужно, чтобы структура данных сервера обновлений была другая и формат должен быть, например, не XML, а JSON. Формирование структуры данных для сервера обновлений расширений Joomla вынесено в отдельный плагин. Вы можете создать свой собственный плагин и реализовать в нём нужную вам структуру данных, добавив или наоборот исключив отображаемые данные. Сервер обновлений в компоненте по-прежнему отображает информацию о списке проектов и их версиях, о конкретном проекте и его changelog.Можно выбрать схему данных сервера обновлений глобально для всего компонента, выбрать другую схему данных для категории проектов, а так же выбрать схему в каждом проекте.

Разработчикам в качестве образца можно посмотреть плагин схемы данных для Joomla в составе компонента или же плагин-образец JSON-схемы на GitHub.
Группа плагинов swjprojects. Для нужд компонента создана группа плагинов swjprojects. В частности, в этой группе находится плагин структуры данных Joomla расширений для сервера обновлений.Изменение языковых констант. Изменены некоторые языковые константы в панели администратора. Если вы делали переопределение констант - переопределите их снова.👩‍💻 Joomla 6. Внесены изменения для корректной установки и работы компонента на Joomla 6. Компонент успешно протестирован на Joomla 6-beta2.Минимальная версия Joomla - 5. Подняты минимальные системные требования: Joomla 5.0.0 и PHP 8.1.
- Страница расширения👉 Плагин-образец кастомной JSON-схемы данных для сервера обновлений на GitHub.- GitHub расширения- Документация на GitHub- Joomla Extensions Directory#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 Гость просматривают эту тему.
  • 11 Ответов
  • 3151 Просмотров
*

PoD-Stas

  • Новичок
  • 6
  • 0 / 0
Всюду дописывается itemid
« : 28.12.2011, 18:59:59 »
В общем, у меня проблемка кой-какая.
Есть связка Joomla 1.5.23 + VirtueMart 1.1.9 (какой черт дернул заюзать, диву даюсь - 100500тыщ файлов, в половине случаев не совсем понятно откуда в файл приходит значение переменной, почти полное отсутствие ООП, ну да ладно...)

В общем, суть проблемы следущая:
Ссылки абсолютно во всех модулях получают последним параметром - itemid=1, и над модулем, который должен выводиться, появляется главная страница, а потом, собственно, и сам модуль.

http://сцайт/index.php?option=com_virtuemart&page=shop.product_details&flypage=flypage.tpl&product_id=83&category_id=30&Itemid=1 (то, что жирное - без него идеально все работает)

В одном модуле ручками написал свой парсинг УРЛов, но в 30! модулях все перписывать, не имея, при этом 100% гарантии, что все будет работать - стремно)
Прошу Вашей помощи...
Мб можно где-то сделать проверку именно на Itemid=1, а другие не трогать? Просто уже натыкал кучу хаков в разные файлы, не представляю, как буду обновляться на след. версии Joomla/виртмарта... =(
« Последнее редактирование: 28.12.2011, 21:05:21 от PoD-Stas »
*

PoD-Stas

  • Новичок
  • 6
  • 0 / 0
Re: Всюду дописывается itemid
« Ответ #1 : 29.12.2011, 23:17:37 »
Никто не поможет? ((
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Всюду дописывается itemid
« Ответ #2 : 29.12.2011, 23:22:12 »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

PoD-Stas

  • Новичок
  • 6
  • 0 / 0
Re: Всюду дописывается itemid
« Ответ #3 : 29.12.2011, 23:32:04 »
Это ясно. Но из какого бы пункта меню я не перешел, дописывается itemid=1... Я вырезал из пары файлов виртмарта генерацию ссылок по сессии, там все ок работает, но... очень много но :-) хотелось бы глобально отключить генерацию именно itemid=1, скажите куда, хотя бы копать, я там условие сам запилю...)))
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Всюду дописывается itemid
« Ответ #4 : 29.12.2011, 23:33:56 »
itemid это не сессия, это идентификатор пункта меню, если нет ни одного пункта меню, ведущего на этот компонент\страницу, то по умолчанию он будет равен 1, то есть главной странице
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

PoD-Stas

  • Новичок
  • 6
  • 0 / 0
Re: Всюду дописывается itemid
« Ответ #5 : 29.12.2011, 23:43:20 »
получается, я сделал глупость, когда ссылки из главного меню делал, как "Внешние ссылки"?
Пробовал делать "специальные" ссылки на материалы компонента виртмарт, но путь неправильно, т.е. вообще не отображался)
*

PoD-Stas

  • Новичок
  • 6
  • 0 / 0
Re: Всюду дописывается itemid
« Ответ #6 : 29.12.2011, 23:44:24 »
Под "путем" я имел ввиду хлебные крошки. ^^
« Последнее редактирование: 29.12.2011, 23:49:55 от PoD-Stas »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Всюду дописывается itemid
« Ответ #7 : 29.12.2011, 23:52:46 »
получается, я сделал глупость, когда ссылки из главного меню делал, как "Внешние ссылки"?
да
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

PoD-Stas

  • Новичок
  • 6
  • 0 / 0
Re: Всюду дописывается itemid
« Ответ #8 : 30.12.2011, 00:25:12 »
в общем, разобрался. Спасибо Вам за помощь.
Все равно идиотская это система - завязывать все на меню :-) Первый и последний мой проект на Joomla... =0
*

1investa

  • Осваиваюсь на форуме
  • 46
  • 4 / 0
  • В движении
Re: Всюду дописывается itemid
« Ответ #9 : 17.10.2012, 20:52:21 »
Никто не поможет? ((

У меня в свое время от "умных ответов" по этой теме и прочего хлама, чуть крышу не сорвало.... И как всегда все гениальное просто:

Как быстро удалить   из ссылки ?Itemid=

1.   Открываем в корне сайта ФАЙЛ .htacces
2.   И в конец файла прописываем такие строки
RewriteCond %{QUERY_STRING} ^(.*)Itemid=$
RewriteRule ^(.*) /$1?%1 [R=404,L]


АНАЛОГИЧНО  поступаем и с ?Treeid=

RewriteCond %{QUERY_STRING} ^(.*)Treeid=$
RewriteRule ^(.*) /$1?%1 [R=404,L]

В итоге при вводе нашей ссылки с любым из этих окончаний видим следующую картину

Not Found

The requested URL ВАШ САЙТ was not found on this server.
Apache/2 Server at ВАШ САЙТ.ru Port 80

P.S.  Да кстати, если есть приондексированные ссылки с этими окончаниями - не забываем идити в панель Яндеск.Вебмастер -> Удалить URL и соответственно удалять весь хлам.
Также не забываем пинговать новые и чистенькие ссылки.


*

VsVoland

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
  • Путь рождается под ногами идущего.
Re: Всюду дописывается itemid
« Ответ #10 : 26.03.2013, 17:17:34 »
itemid это не сессия, это идентификатор пункта меню, если нет ни одного пункта меню, ведущего на этот компонент\страницу, то по умолчанию он будет равен 1, то есть главной странице
beliyadm, у меня ситуация немного другая. Я создаю новую категорию товаров  в VirtueMart, и соответственно появляется ссылка в меню, которое отображает ссылки на все категории товаров. И почему-то к новым ссылкам этого меню прицепляется itemid главной страницы (itemid=8)... в результате, те модули которые должны быть только на главной, отображаются и на последних по времени создания категориях. Никак не могу понять где проблема и от чего зависит это itemid.
Можешь подсказать как это исправить? или, хотя бы, куда копать...

все прежние ссылки этого меню имеют itemid разные, но отличные от itemid главной (25 и 16, у главной 8 ).
*

VsVoland

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
  • Путь рождается под ногами идущего.
Re: Всюду дописывается itemid
« Ответ #11 : 26.03.2013, 17:19:24 »
beliyadm, у меня ситуация немного другая. Я создаю новую категорию товаров  в VirtueMart, и соответственно появляется ссылка в меню, которое отображает ссылки на все категории товаров. И почему-то к новым ссылкам этого меню прицепляется itemid главной страницы (itemid=8)... в результате, те модули которые должны быть только на главной, отображаются и на последних по времени создания категориях. Никак не могу понять где проблема и от чего зависит это itemid.
Можешь подсказать как это исправить? или, хотя бы, куда копать...

все прежние ссылки этого меню имеют itemid разные, но отличные от itemid главной (25 и 16, у главной \8).

хотел исправить ошибку в сообщении, а нечайно нажал "цитировать" - удалить сообщение не могу. Модераторы, удалите его пожалуйста :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вирус на сайте дописывается в js-скрипты

Автор Akksimo

Ответов: 2
Просмотров: 2334
Последний ответ 04.05.2013, 16:59:22
от wishlight
Itemid: Внутренние страницы воспринимаются как главная...

Автор inko_gnito

Ответов: 4
Просмотров: 1469
Последний ответ 16.05.2011, 21:07:41
от inko_gnito
Привязка цвета фона к itemId

Автор arsenkot

Ответов: 2
Просмотров: 1545
Последний ответ 05.02.2011, 00:27:55
от arsenkot
Как определить Itemid категории в результатах стандартного поиска

Автор yuri-it

Ответов: 3
Просмотров: 1558
Последний ответ 18.01.2011, 14:39:33
от yuri-it
Itemid в своих компонентах

Автор alexok

Ответов: 7
Просмотров: 1883
Последний ответ 22.07.2010, 08:12:35
от alexok