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

lculver

  • Новичок
  • 8
  • 0 / 0
Выбор типа расширения
« : 28.09.2016, 11:14:23 »
Здравствуйте.
Я программист PHP но с Joomla только знакомлюсь. Мне нужно на определённой странице сайта вывести информацию сформированную из данных из базы (данные пользователя) и из json файла.  Причём страница должна отображаться только зарегистрированным пользователям. Планирую создать отдельный пункт меню, отдельный материал. И в этом материале уже отображать информацию. Причём все остальные атрибуты сайта, например, хлебные крошки, должны также присутствовать на этой странице.
Подскажите пожалуйста, что мне нужно создать: модуль, плагин или компонент? И как правильно вставить на него ссылку в материал?.     
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Выбор типа расширения
« Ответ #1 : 28.09.2016, 11:58:51 »
Если в материал, то либо плагин (сиситемный если хотите юзать его везде или контентный), либо модуль (можно вставить в материал через плагин "загрузка модулей"). Хотя если все что будет делать материал это выводить модуль или плагин. Наиболее верным решением будет компонент. Та больше возможностей. хотя и время затрат немного побольше.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Выбор типа расширения
« Ответ #2 : 28.09.2016, 12:02:50 »
Я бы сделал банальным модулем (копируете любой стандартный, меняете имена файлов и подключений хелперов, в админке в установке расширений ставите его через поиск) и как писали выше - публикуете модуль в материале путем плагина "загрузка модулей"
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Выбор типа расширения
« Ответ #3 : 28.09.2016, 12:10:08 »
в XML не забыть поменять название файла модуля
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Выбор типа расширения
« Ответ #4 : 28.09.2016, 12:19:40 »
А есть еще более гениальный в своей простоте способ.
Взять любой стандартный модуль (к примеру последние новости), создать там свою вьюшку, в ней тупо писать свой код и при публикации модуля выбрать новый созданный шаблон (нашу вьюшку). Не надо гемороиться с созданием модуля, переименовыванием и тд.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Выбор типа расширения
« Ответ #5 : 28.09.2016, 12:26:20 »
хороший способ, но тогда лучше создавать в mod_custom (HTML-код). там никакой код не выполняется дополнительно, в отличие от других модулей. например, mod_articles_news - вызывается ModArticlesNewsHelper::getList($params), где выполняется куча ненужного нам. а в mod_custom просто подключается файл шаблона, и все.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

beliyadm

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

lculver

  • Новичок
  • 8
  • 0 / 0
Re: Выбор типа расширения
« Ответ #7 : 28.09.2016, 16:03:58 »
Использовал модуль, вставил с помощью loadmodule.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Выбор типа расширения
« Ответ #8 : 28.09.2016, 16:05:05 »
прекрасный выбор :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Выбор типа расширения
« Ответ #9 : 28.09.2016, 18:07:39 »
Думаю проще использовать не стандартный html-custom из коробки (и не зависить от "урезания" кода и прочих ненужностей), а расширенный https://extensions.joomla.org/extension/custom-html-advanced, в котором и HTML & CSS & php & script в одном лице модуля можно делать.

Проверять, улучшать, раскидывать по файлам, а уже потом делать свой модуль, раскидывающий при установке через xml-файл тоже самое по папкам сайта.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Выбор типа расширения
« Ответ #10 : 28.09.2016, 18:23:07 »
а никто и не зависит от "урезания" :) предложение было не сохранять код в модуле, а делать альтернативный шаблон, и там уже писать нужный код. php надо держать там, где ему самое место - в файлах, а не в базе. иначе это плюс одна дополнительная дыра в безопасности.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Выбор типа расширения
« Ответ #11 : 28.09.2016, 18:28:12 »
а я и предложил модулем адвансед чисто проверить все функции, а потом свой модуль, при установке-по нужным местам.
только не совсем понял, а при чём тут шаблон? модуль имеет право жить автономно! :)
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Выбор типа расширения
« Ответ #12 : 28.09.2016, 18:31:04 »
шаблон модуля. альтернативный макет
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Выбор типа расширения
« Ответ #13 : 28.09.2016, 18:59:47 »
а чего вы к модулю вообще зацепились?)
Если это матирал то делается все просто
создается 2 файла в директории templates/ШАБЛОН/html/com_content/article
1. myarticle.xml
Код
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="Мой тип пункта меню" option="com_content_article_view_default_option">
<help
key = "Мой тип пункта меню"
/>
<message>
<![CDATA[Мой тип пункта меню]]>
</message>
</layout>

<!-- Add fields to the request variables for the layout. -->
<fields name="request">
<fieldset name="request"
addfieldpath="/administrator/components/com_content/models/fields">

<field name="id" type="modal_article"
label="COM_CONTENT_FIELD_SELECT_ARTICLE_LABEL"
required="true"
edit="true"
clear="false"
description="COM_CONTENT_FIELD_SELECT_ARTICLE_DESC"
/>
</fieldset>
</fields>

</metadata>
2. myarticle.php
Код
<?php
echo 'Это мой пункт меню';
в нем уже делаете что угодно

при этом появится новый тип пункта меню "Мой тип пункта меню"
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Выбор типа расширения
« Ответ #14 : 28.09.2016, 19:11:10 »
при этом появится новый тип пункта меню "Мой тип пункта меню"
зачем делать сложно, когда можно делать просто
Еще раз - изначально вся работа ТС сводится к созданию альтернативного шаблона модуля и одного лишнего клика в админке. Огород городить то зачем?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Выбор типа расширения
« Ответ #15 : 28.09.2016, 19:33:21 »
Огород городить то зачем?
если уж на то пошло, то можно просто создать альтернативный макет для материала и не надо никаких модулей
без этого файла myarticle.xml
так что огород как раз у вас получается
« Последнее редактирование: 28.09.2016, 19:36:36 от SmokerMan »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Выбор типа расширения
« Ответ #16 : 28.09.2016, 19:46:13 »
а что это даст? сам текст который сейчас модулем выводится среди текста материала - где писать? тут ведь задача в другом - пишешь материал, вставляешь в него модуль в любое место - готово. а как сделать такое с одним только макетом материала?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Выбор типа расширения
« Ответ #17 : 28.09.2016, 19:51:46 »
без этого файла myarticle.xml
а его как раз и не надо создавать, только копию вьюшки матермала (пхп файл) и все
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

MySQL Что быстрее выбор столбца в таблице с кучей столбцов или с 1?

Автор platonische

Ответов: 2
Просмотров: 607
Последний ответ 22.10.2020, 15:28:19
от platonische
Установка демо данных из админки расширения

Автор effrit

Ответов: 16
Просмотров: 1282
Последний ответ 28.05.2018, 10:54:48
от effrit
Добавление нового типа пункта меню в ваш компонент Joomla

Автор RexNebular

Ответов: 3
Просмотров: 1060
Последний ответ 02.10.2017, 19:04:16
от Septdir
[Решено] Проблема с созданием собственного типа поля

Автор batiskaf

Ответов: 2
Просмотров: 1071
Последний ответ 22.03.2017, 21:48:31
от batiskaf
[howto] Параметры расширения. Корректная работа параметра showon в subform repeatable

Автор dynamit

Ответов: 0
Просмотров: 1680
Последний ответ 04.12.2016, 12:00:24
от dynamit