Новости Joomla

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором представлены новости, интервью, рецензии и есть небольшой магазин на JoomShopping. Возникла необходимость внутри Joomla статей вставлять упоминание релиза и кнопочку «добавить в корзину». Я взял плагин WT JShopping products anywhere Сергея Толкачева (@webtolkru). Плагин отображает название товара и ссылку. При помощи напильника, ИИ и навыков вёрстки появился Uikit макет для шаблонов на базе Yootheme Pro.Учитываается мобильная версия - телефоны и ipad.Кнопка добавления в корзину работает по Ajax и появляется всплывающее окно (Notification Bar от Uikit) с информацией.Пока это базовый вариант, требующий доведения до лоска, однако он уже работает и его можно применять на проектах.Взять макет можно здесь.А плагин вставки товаров в материалы можно забрать здесь.Приветствуется доведение до ума и оформление в виде PR.

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

👩‍💻 WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla.Пакет плагинов галереи изображений и видео для вставки в материалы и модули Joomla, а так же везде, где работают плагины группы content. Поддержка собственных макетов вывода для галерей. Смешанные фото+видео галереи. Плагин создан как замена Simple Image Gallery и поддерживает синтаксис {gallery}{/gallery}.👩‍💻 v.1.2.3. Что нового?- Обработка вступительного и полного текста для материалов Joomla. Добавлена обработка шорткодов в полном и вступительном текстах материалов Joomla.- Системные требования. Повышены минимальные требования до Joomla 5 и PHP 8.1.- Мелкие правки. Исправлена ошибка работы макета по умолчанию в плагине контента.- Joomla 6. Пакет плагинов успешно протестирован на Joomla 6.Страница расширения.GitHub расширенияJoomla Extensions Directory@joomlafeed#joomla #расширения

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 1944 Просмотров
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Здравствуйте. В процессе обработки ajax-запроса в контроллере компонента необходимо получить доступ к параметрам активного пункта меню. При попытке сделать это с помощью инфтрукции:

Код
$menu_params->merge(JFactory::getApplication()->getMenu()->getActive()->params);
возникает ошибка PHP - Попытка обратиться к свойству необъекта.

Очевидно, что, в силу моего невысокого числа часов летного стажа на Joomla, делаю что-то не то, а параметры меню получить необходимо. Подскажите, пожалуйста, как это правильно сделать в контроллере компонента?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
возникает ошибка PHP - Попытка обратиться к свойству необъекта.
1. Никогда не переводите сообщения об ошибках (предупреждениях).
2. Всегда приводите код в контексте: что такое $menu_params, есть ли у него свойство merge?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
robert, контекст таков:

Код
$menu_params = JComponentHelper::getParams ('com_mycomponent');
$menu_params->merge(JFactory::getApplication()->getMenu()->getActive()->params);

использовал этот же код в модели другого пункта меню, там все работает без ошибок, а в данном контроллере приходит сообщение об ошибке: Trying to get property of non-object in ...

*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а просто
Код
$menu_params = JFactory::getApplication()->getMenu()->getActive()->params;
разве не достаточно?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
в том-то и дело, что данный код:

Код
JFactory::getApplication()->getMenu()->getActive()->params;

и является источником ошибки.

а просто
Код
$menu_params = JFactory::getApplication()->getMenu()->getActive()->params;
разве не достаточно?
А в даном случае настройки компонента по умолчанию учтуться или получатся только настройки пункта меню?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
в том-то и дело, что данный код и является источником ошибки.
вы уверены? что выводит
Код
var_dump(JFactory::getApplication()->getMenu()->getActive());
?

А в даном случае настройки компонента по умолчанию учтуться или получатся только настройки пункта меню?
нет само собой, настройки компонента пройдут мимо. вы ж только сейчас говорите о параметрах компонента, тема то про параметры текущего пункта меню :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
вы уверены? что выводит
Код
var_dump(JFactory::getApplication()->getMenu()->getActive());
?
нет само собой, настройки компонента пройдут мимо. вы ж только сейчас говорите о параметрах компонента, тема то про параметры текущего пункта меню :)

var_dump выводит NULL.
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
ошибка локалиовалась до метода getActive () - он возвращает null, насколько я понял из документации по этому методу (с моим неидеальным английским), он вернёт объект пункта активного меню, если таковой был установлен, в противном случае null, что собственно и наблюдаем. Значит проблема в том, что пункт меню не установлен как активный, точнее контроллер не имеет доступ к этой информации (если я всё правильно понимаю). Задачей данного контроллера в разрабатываемом компоненте является обработка ajax-запроса отправляемого из шаблона активного пункта меню, параметры которого мне и необходимы, дабы в соответствии с ними отфильтровать данные и отправить их в качестве ответа. Как передать этому контроллеру информацию об активном пункте меню?
« Последнее редактирование: 19.06.2017, 09:50:08 от Inoken »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
тут надо бы понимать, какой вы в принципе пункт меню хотите видеть... я так понял, что тот пункт меню, с которого делается AJAX запрос? тогда передайте текущий
Код
JFactory::getApplication()->input->getInt('Itemid')
в AJAX запросе к вашему контроллеру

P.S. ага, ну после редактирования стало понятно. ну тогда как я и говорю, просто передайте текущий Itemid как параметр запроса в ваш компонент
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
параметры появились, но их необходимо объединить с параметрами компонента. Объекты, возвращаемые инструкциями:

Код
JComponentHelper::getParams ('com_medialib');

и

Код
JFactory::getApplication()->getMenu()->getItem($menu_item_id)

различны, поэтому через merge () их не склеить. Подскажите, пожалуйста, есть ли в API Joomla какие-нибудь другие стандартные способы объединить настройки воедино с их перекрытием?
« Последнее редактирование: 21.06.2017, 12:18:43 от Inoken »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
например можно так
Код
$params = new JRegistry(JComponentHelper::getParams('com_medialib')->toArray() + JFactory::getApplication()->getMenu()->getItem($menu_item_id)->params->toArray());
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создание релиза компонента средствами GitHub

Автор SkyAn

Ответов: 4
Просмотров: 1079
Последний ответ 01.11.2019, 17:42:04
от Septdir
Формирование ссылки с параметрами в меню

Автор submaster

Ответов: 2
Просмотров: 995
Последний ответ 28.09.2018, 13:32:43
от submaster
Получить данные из поля " file", и передать в файл обработчик

Автор Glog

Ответов: 5
Просмотров: 1637
Последний ответ 01.08.2017, 13:55:40
от Glog
Зависимость модуля от компонента и страницы

Автор Тренд

Ответов: 34
Просмотров: 3133
Последний ответ 16.06.2017, 19:48:39
от dmitry_stas
Организация доступа пользователей к контенту кастомного компонента

Автор Inoken

Ответов: 4
Просмотров: 1258
Последний ответ 15.06.2017, 10:05:40
от Inoken