Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

Александр216

  • Захожу иногда
  • 107
  • 1 / 0
Добрый час!

Передо мной стоит следующая задача:
Категория 1 содержит категории 1_1, 1_2, 1_3 и т.п., каждая из которых содержит n товаров. Нужно сделать, чтобы при клике на категорию 1 выводились все ее подкатегории вместе с товарами:

Категория 1_1
товар, товар, товар...

Категория 1_2
товар, товар, товар

...

И еще подзадача, вытекающая из основной: в админке нужно как-то указать, что категорию 1 нужно отображать именно так, а не стандартным образом (т.к. есть еще категории 2, 3, ..., в которых нужно подкатегории отображать простым списком, без товаров)

Кто-нибудь сталкивался с подобной задачей? Как ее можно решить?
*

Александр216

  • Захожу иногда
  • 107
  • 1 / 0
Никто не сталкивался. Попробуем разбить задачу на более узкие.

Алгоритм решения вижу так:
1. Создаем в папке browse дополнительный файл. Называем его, к примеру, daughter.php.
2. Для каждой подкатегории в админке в поле "Страница отображения категории" выбираем daughter.php
3. В файле categorychildlist при выводе каждой подкатегории делаем условие:
3.1.   Если "Страница отображения категории"=daughter.php, то вызываем функцию, которая отображает заголовок и товары данной подкатегории;
3.2.   Иначе отображаем подкатегорию стандартно, в виде ссылки.

При реализации этого алгоритма передо мной встали две неразрешимые пока задачи:
1. Как в файле categorychildlist получить переменную "Страница отображения категории"? (Вообще, очень хотелось бы найти список переменных, которые используются при отображении категорий. Пока нашел переменные только для browse и flypage)
2. Как из этого файла вызвать функцию отображения категории?

Подскажите, пожалуйста. Или киньте ссылки, где можно про это почитать.
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Вообще, очень хотелось бы найти список переменных, которые используются при отображении категорий. Пока нашел переменные только для browse и flypage
Что по вашему "browse"?

Категория 1 содержит категории 1_1, 1_2, 1_3 и т.п., каждая из которых содержит n товаров. Нужно сделать, чтобы при клике на категорию 1 выводились все ее подкатегории вместе с товарами:

Категория 1_1
товар, товар, товар...

Категория 1_2
товар, товар, товар

...
 

Где-то на форуме видел решение. Ищите. Но оно, насколько помню, было для "обычного" вывода. Табличным выводом более наглядно с разбиением товара по подкатегориям. Но в browse_listtable.tpl.php цикл, предложенное решение не пойдет, надо дорабатывать.

И еще подзадача, вытекающая из основной: в админке нужно как-то указать, что категорию 1 нужно отображать именно так, а не стандартным образом (т.к. есть еще категории 2, 3, ..., в которых нужно подкатегории отображать простым списком, без товаров)
 

В конце shop.browse.php прописано, что выводится шаблон категории, указанный в настройках. Замените на условие: если id=…, то измененный шаблон для вашей категории, иначе – тот, что в настройках.

Веб-разработка: заказ. Только новая разработка.
*

Александр216

  • Захожу иногда
  • 107
  • 1 / 0
Что по вашему "browse"?
Это отображение перечня товаров, принадлежащих определенной категории. Варианты такого отображения находятся в папке browse. Я же имел в виду отображение подкатегорий, принадлежащих определенной - родительской - категории, которое реализуется в файле categorychildlist.php

Только что поработал с этим файлом - вывел список переменных из массива $category. Их всего 4 - имя, id, картинка и кол.продуктов. Для решения задачи описанным выше способом нужно расширить этот список. Как я понимаю, нужно либо писать sql-запрос в этом же файле, либо дополнить существующий.
Наверное, правильней второй способ. Только я пока не разобрался, где находятся sql-запросы для процессов vm. Если просветите, буду очень благодарен!
*

fsv

  • Moderator
  • 2787
  • 413 / 2
...которое реализуется в файле categorychildlist.php
Только что поработал с этим файлом ...
...где находятся sql-запросы для процессов vm.

Предположу, что речь о шаблоне categoryChildlist.tpl.php.
Для него:
- Родительские шаблоны: shopIndex.tpl.php, all core browse template except PDF;
- Соответствующие файлы страницы: shop.browse.php, shop.index.php;
- Доступные поля: 
$browsepage_lbl ,
$desc ,
$categories  -  массив дочерних категорий, каждая дочерняя категория в массиве содержит элементы: category_name, category_id, category_thumb_image, number_of_products.

Не изобретайте велосипед, его до вас изобрели. Решение есть, видел. Вам поискать лень? Тогда и мне лень, но ведь не мне и надо...
Веб-разработка: заказ. Только новая разработка.
*

Александр216

  • Захожу иногда
  • 107
  • 1 / 0
Обязательно поищу. Просто наряду с решением конкретной задачи хочется повысить теоретическую подготовку)). Которая пока невелика. Спасибо за информацию!
« Последнее редактирование: 09.08.2012, 14:09:35 от Александр216 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Несколько изображений для товара/ Лупа для изображения/ Magic Zoom

Автор antoha333

Ответов: 41
Просмотров: 28130
Последний ответ 13.11.2015, 16:08:16
от sonics
Альтернативный модуль вывода категорий товаров (mod_kdz_vm_categories)

Автор kordima

Ответов: 89
Просмотров: 30754
Последний ответ 19.02.2015, 22:02:14
от kordima
VirtueMart -как убрать слово "КАТЕГОРИИ" на первой странице магазина

Автор stalker828

Ответов: 12
Просмотров: 10376
Последний ответ 30.07.2014, 11:51:16
от ZAIRA
Показ модуля на странице товара только

Автор EmAl

Ответов: 24
Просмотров: 4400
Последний ответ 27.05.2014, 08:15:01
от Mitriy-Bug
Вывод модуля везде, кроме определенных категорий

Автор katjuha6

Ответов: 18
Просмотров: 4837
Последний ответ 13.01.2014, 15:24:40
от Fedor Vlasenko