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

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Здравствуйте!

Пишу модуль для вывода отзывов с сайта фриланса через их API. Суть в том, что модуль не хочет устанавливаться вообще, хотя файл XML в полном порядке.

Вот полный код файла:

Код
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.4" method="upgrade" client="site" >
<name>mod_freelancehuntreviews</name>
    <author>ART Colorit & ART Pavluk</author>
<creationDate>22/02/2016</creationDate>
   <copyright>Copyright (C) 2016 ART Colorit & ART Pavluk. All rights reserved.</copyright>
   <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
   <authorEmail>zeus07@artcolorit.com, info@art-pavluk.com</authorEmail>
   <authorUrl>http://artcolorit.com, http://art-pavluk.com/</authorUrl>
<version>1.0</version>
<description>MOD_FREELANCEHUNT_REVIEWS_DESCRIPTION</description>
<files>
<filename module="mod_freelancehuntreviews">mod_freelancehuntreviews.php</filename>
<filename>index.html</filename>
        <filename>mod_freelancehuntreviews.xml</filename>
<folder>tmpl</folder>
        <folder>assets</folder>
        <folder>language</folder>
</files>
<languages folder="language">
<language tag="ru-RU">ru-RU/ru-RU.mod_freelancehuntreviews.ini</language>
</languages>
<config>
<fields name="params">
<fieldset name="basic">
<field
name="token_id"
type="text"
default=""
label="MOD_FREELANCEHUNT_REVIEWS_TOKEN_ID_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_TOKEN_ID_DESC"
/>
                <field
name="secret_id"
type="text"
default=""
label="MOD_FREELANCEHUNT_REVIEWS_SECRET_ID_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_SECRET_ID_DESC"
/>
                <field
name="login"
type="text"
default=""
label="MOD_FREELANCEHUNT_REVIEWS_LOGIN_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_LOGIN_DESC"
/>
                <field
name="reviews_count"
type="text"
default=""
label="MOD_FREELANCEHUNT_REVIEWS_REVIEWS_COUNT_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_REVIEWS_COUNT_DESC"
/>
                <field
name="reviews"
type="list"
default="all"
label="MOD_FREELANCEHUNT_REVIEWS_REVIEWS_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_REVIEWS_DESC" />
        <option value="all">MOD_FREELANCEHUNT_REVIEWS_REVIEWS_ALL</option>
        <option value="positive">MOD_FREELANCEHUNT_REVIEWS_REVIEWS_POSITIVE</option>
</field>
                <field
                    name="reviews_config"
                    type="spacer"
                    label="MOD_FREELANCEHUNT_REVIEWS_CONFIG_LABEL"
                    class="inputbox"
                />
                <field
name="grade_quality"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_GRADE_QUALITY_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_GRADE_QUALITY_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="grade_professionalism"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_GRADE_PROFESSIONALISM_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_GRADE_PROFESSIONALISM_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="grade_cost"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_GRADE_COST_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_GRADE_COST_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="grade_connectivity"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_GRADE_CONNECTIVITY_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_GRADE_CONNECTIVITY_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="grade_schedule"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_GRADE_SCHEDULE_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_GRADE_SCHEDULE_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="grade_average"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_GRADE_AVERAGE_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_GRADE_AVERAGE_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="review_time"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_REVIEW_TIME_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_REVIEW_TIME_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="from_fname"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_FROM_FNAME_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_FROM_FNAME_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="from_sname"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_FROM_SNAME_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_FROM_SNAME_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="from_url"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_FROM_URL_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_FROM_URL_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="from_avatar"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_FROM_AVATAR_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_FROM_AVATAR_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="project_name"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_PROJECT_NAME_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_PROJECT_NAME_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="project_url"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_PROJECT_URL_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_PROJECT_URL_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
                <field
name="project_budget_amount"
type="radio"
class="btn-group"
default="1"
label="MOD_FREELANCEHUNT_REVIEWS_PROJECT_BUDGET_AMOUNT_LABEL"
description="MOD_FREELANCEHUNT_REVIEWS_PROJECT_BUDGET_AMOUNT_DESC">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
</fieldset>
<fieldset name="advanced">
<field
name="layout"
type="modulelayout"
label="JFIELD_ALT_LAYOUT_LABEL"
description="JFIELD_ALT_MODULE_LAYOUT_DESC" />

<field
name="moduleclass_sfx"
type="text"
label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />

<field
name="cache"
type="list"
default="1"
label="COM_MODULES_FIELD_CACHING_LABEL"
description="COM_MODULES_FIELD_CACHING_DESC">
<option value="1">JGLOBAL_USE_GLOBAL</option>
<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
</field>

<field
name="cache_time"
type="text"
default="900"
label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
description="COM_MODULES_FIELD_CACHE_TIME_DESC" />

<field
name="cachemode"
type="hidden"
default="itemid">
<option value="itemid"></option>
</field>
</fieldset>
</fields>
</config>
</extension>

Подскажите пожалуйста, в чём проблема? Уже реально всю голову сломал, но не понимаю, почему не устанавливается.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Скриншот ошибки: http://clip2net.com/s/3uNdrgl
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
В какой архив модуль запаковываете ?
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
В какой архив модуль запаковываете ?

В zip конечно, внутри архива уже сами файлы и папки модуля
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
По структуре вроде бы всё ок. Может запятые не нравятся или значок &
Кодировка файла UTF-8 without BOM?
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
По структуре вроде бы всё ок. Может запятые не нравятся или значок &
Кодировка файла UTF-8 without BOM?

Да, я вот тоже проверял уже не один раз, по структуре всё что надо. Кодировка верная. Попробую ещё убрать значок "&", может и правда в нём загвоздка
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Убрал значок "&", но всё та же проблема. Мистика какая-то...
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Мде :(

Могу прикрепить сам архив, если что. Просто реально впервые сталкиваюсь с таким. Никогда не было такого
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Скопируйте 2 верхних строчки из какого-нибудь стандартного модуля, может где-то накосячили сами...
P.S. ну и да, архив прикрепите...
Создание сайтов, шаблонов, помощь в решении проблем.
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Такая же фигня.
Архив прикрепляю.
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
                <field
               name="reviews"
               type="list"
               default="all"
               label="MOD_FREELANCEHUNT_REVIEWS_REVIEWS_LABEL"
               description="MOD_FREELANCEHUNT_REVIEWS_REVIEWS_DESC" />
                    <option value="all">MOD_FREELANCEHUNT_REVIEWS_REVIEWS_ALL</option>
                    <option value="positive">MOD_FREELANCEHUNT_REVIEWS_REVIEWS_POSITIVE</option>
            </field>
                <field
                    name="reviews_config"
                    type="spacer"
                    label="MOD_FREELANCEHUNT_REVIEWS_CONFIG_LABEL"
                    class="inputbox"
                />
По разному закрыт тег </field>
Редактор подсвечивает как ошибку, попробовал убрать, модуль установился .
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
                <field
               name="reviews"
               type="list"
               default="all"
               label="MOD_FREELANCEHUNT_REVIEWS_REVIEWS_LABEL"
               description="MOD_FREELANCEHUNT_REVIEWS_REVIEWS_DESC" />
                    <option value="all">MOD_FREELANCEHUNT_REVIEWS_REVIEWS_ALL</option>
                    <option value="positive">MOD_FREELANCEHUNT_REVIEWS_REVIEWS_POSITIVE</option>
            </field>
                <field
                    name="reviews_config"
                    type="spacer"
                    label="MOD_FREELANCEHUNT_REVIEWS_CONFIG_LABEL"
                    class="inputbox"
                />
По разному закрыт тег </field>
Редактор подсвечивает как ошибку, попробовал убрать, модуль установился .

То есть именно у типа text поменять?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Кодировка файла UTF-8 without BOM?
я за эту версию. 99.99% что кодировка не UTF-8 без BOM
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
я за эту версию

Да, с кодировкой всё отлично
*

dmitry_stas

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

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Ну вот открываю файл через Notepad++ (просто в нём кодировку менять удобнее всего). Жму на Преобразовать в UTF-8 без BOM и он мне даже не показывает, что есть какие-то изменения, чтобы сохранить файл. Значит по сути с кодировкой всё должно быть в порядке)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а не. экстраценсорные способности не сработали :) как и сказал umbabaraumba, дело в другом
Цитировать
               <field
               name="reviews"
               type="list"
               default="all"
               label="MOD_FREELANCEHUNT_REVIEWS_REVIEWS_LABEL"
               description="MOD_FREELANCEHUNT_REVIEWS_REVIEWS_DESC" />
                    <option value="all">MOD_FREELANCEHUNT_REVIEWS_REVIEWS_ALL</option>
                    <option value="positive">MOD_FREELANCEHUNT_REVIEWS_REVIEWS_POSITIVE</option>
            </field>

P.S. выделил цветом, а то просто жирным не очень понятно было.

P.P.S. хотя оно и цветом не очень понятно :) короче, слеш лишний
« Последнее редактирование: 25.02.2016, 16:51:53 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
а не. экстраценсорные способности не сработали :) как и сказал umbabaraumba, дело в другом
P.S. выделил цветом, а то просто жирным не очень понятно было.

Не вижу выделения цветом)
*

dmitry_stas

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

zeus07

  • Давно я тут
  • 723
  • 9 / 0
О, теперь вижу, Спасибо. Сейчас попробую
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Да, загвоздка была именно в слеше! Огромное спасибо всем, кто принял участие в обсуждении!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отправка файлов через ajax в модуль Joomla

Автор hemicide

Ответов: 19
Просмотров: 2108
Последний ответ 11.04.2022, 08:44:33
от sivers
Модуль обратной связи. Как использовать свойство context в ajax запросе

Автор ushangi

Ответов: 0
Просмотров: 682
Последний ответ 15.02.2020, 22:08:12
от ushangi
Ссылки в модуле на сам модуль

Автор SeBun

Ответов: 12
Просмотров: 1631
Последний ответ 06.12.2019, 15:06:38
от Betty1412
Модуль ajax фильтрации статей по меткам и категориям

Автор antarey

Ответов: 2
Просмотров: 848
Последний ответ 03.06.2019, 23:20:55
от antarey
Модуль для админки

Автор platonische

Ответов: 2
Просмотров: 1926
Последний ответ 29.03.2017, 16:53:58
от SeBun