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

Brooksus

  • Давно я тут
  • 641
  • 169 / 0
  • Ща спою...
Random products + карусель
« : 01.07.2013, 14:05:50 »
"Прикрутил" к модулю random products карусель... делюсь
Скачать
Что умеет:
1. Выводить товары из указанных категорий.
2. Выводить товары с определенной меткой.
3. Выводит товары горизонтально или вертикально.
4. Можно размещать несколько модулей на одной странице (для этого необходимо указать идентификатор для каждого модуля, и, естественно, они (идентификаторы) не должны совпадать).
5. Указывать количество отображаемых товаров, скорость прокрутки, направление прокрутки и т.п.

Пример работы: http://pvi.spb-ies.ru/

Берем, тестируем, дополняем...
« Последнее редактирование: 02.12.2013, 16:40:51 от Brooksus »
Или + или YM41001160794290, или WMR R189734255107, а лучше все сразу и много.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Random products + карусель
« Ответ #1 : 01.07.2013, 15:04:14 »
Цитировать
4. Можно размещать несколько модулей на одной странице (для этого необходимо указать идентификатор для каждого модуля, и, естественно, они (идентификаторы) не должны совпадать).

сделайте в модуле print_r($module);
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Brooksus

  • Давно я тут
  • 641
  • 169 / 0
  • Ща спою...
Re: Random products + карусель
« Ответ #2 : 01.07.2013, 15:36:28 »
сделайте в модуле print_r($module);
Ииии?
Или + или YM41001160794290, или WMR R189734255107, а лучше все сразу и много.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Random products + карусель
« Ответ #3 : 01.07.2013, 16:14:48 »
Brooksus вам предложили использовать id модуля. К сожалению это не идеальное решение, лучше было бы использовать прием по ссылке http://php.net/manual/ru/function.spl-object-hash.php
*

Brooksus

  • Давно я тут
  • 641
  • 169 / 0
  • Ща спою...
Re: Random products + карусель
« Ответ #4 : 01.07.2013, 16:21:16 »
Brooksus вам предложили использовать id модуля. К сожалению это не идеальное решение, лучше было бы использовать прием по ссылке http://php.net/manual/ru/function.spl-object-hash.php
Да я понял :).... Просто так, как сейчас - нагляднее (точно знаешь, какой идентификатор).., но может dmitry_stas и прав... подумаю на досуге.
Или + или YM41001160794290, или WMR R189734255107, а лучше все сразу и много.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Random products + карусель
« Ответ #5 : 01.07.2013, 18:18:57 »
плюсики лучше ставить за что-то для понимания и истории

ок :)

...использовать id модуля. К сожалению это не идеальное решение...

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

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Random products + карусель
« Ответ #6 : 01.07.2013, 18:44:34 »
что будет если вы вызовете один и тот же модуль дважды id у него будет один, а вам нужно каждый обрабатывать по своему
Здесь id - идентификатор модуля в базе, но не экземпляра модуля. Да в 99% случаях может спасать, делают еще ручной ввод идентификатора, чтобы решать данные проблемы
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Random products + карусель
« Ответ #7 : 01.07.2013, 19:29:13 »
да, согласен, при программных вызовах одного и того же модуля id будет одинаковый. но только ведь и spl_object_hash($module) в таком случае даст для каждого вызванного модуля одинаковое значение. если так рассуждать, то тогда лучше использовать например uniqid.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Random products + карусель
« Ответ #8 : 01.07.2013, 19:37:56 »
что будет если вы вызовете один и тот же модуль дважды id у него будет один...

Делаем:
Код
echo $module->id;

Смотрим:
Спойлер
[свернуть]

Передаём при инициализации скриптов или в функцию.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Random products + карусель
« Ответ #9 : 01.07.2013, 19:44:07 »
не, видимо имелось в виду echo JModuleHelper::renderModule() не задавая параметры модуля
« Последнее редактирование: 01.07.2013, 19:52:01 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Random products + карусель
« Ответ #10 : 01.07.2013, 20:28:26 »
совершенно верно вызывая динамически с разными праметрами, хм, тогда я и идентификатор сам могу передавать.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Random products + карусель
« Ответ #11 : 01.07.2013, 22:10:37 »
ну да, можете. SDKiller же и имеет в виду по всей видимости что то типа

Код
$mod = JModuleHelper::getModule('mod_jqcarousel');
$mod->id = 92;
echo JModuleHelper::renderModule($mod);

так ведь? т.е. если мы оперируем модулем программно, то и отвечаем за его id сами. но вопрос идеальности встал же потому, что привязка к id модуля привела к тому, что он получается зависимым от того, как его программно выведут. так ведь? т.е. если вдруг вебмастер сделает

Код
$mod = JModuleHelper::getModule('mod_jqcarousel');
echo JModuleHelper::renderModule($mod);
echo JModuleHelper::renderModule($mod);

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

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Random products + карусель
« Ответ #12 : 01.07.2013, 23:07:36 »
Цитировать
что он получается зависимым от того, как его программно выведут. так ведь
именно это два экземпляра одного модуля
Код: php
$db = JFactory::getDBO();
$query = $db->getQuery(true)->select('*')->from('#__modules')->where('id=90');
$module = $db->setQuery($query)->loadObject();
$module1 = clone($module);
var_dump($module->id, $module1->id);
$module1->id = spl_object_hash($module1);
echo JModuleHelper::renderModule($module);
echo JModuleHelper::renderModule($module1);
var_dump($module->id, $module1->id);
P.S. Написав код не понял где и пригодится может *DRINK*
*

Brooksus

  • Давно я тут
  • 641
  • 169 / 0
  • Ща спою...
Re: Random products + карусель
« Ответ #13 : 02.07.2013, 10:54:17 »
Подытожу :)
Добавил к существующему идентификатору id модуля. Теперь поле идентификатор заполнять нет необходимости. Но, если что, всегда можно "отидентификачить" его ручками.
Или + или YM41001160794290, или WMR R189734255107, а лучше все сразу и много.
*

Geka

  • Новичок
  • 1
  • 0 / 0
Re: Random products + карусель
« Ответ #14 : 16.11.2013, 16:32:47 »
Здравствуйте, установил модуль, автопрокрутка везде работает кроме главной страницы, в консоле висит ошибка
Цитировать
Uncaught TypeError: Object [object Object] has no method 'Carousel'
ругается на строку
Код
jQuery(".container_jqcarousel.ids_1_95").Carousel({

На остальных страницах её нет, подскажите как можно исправить?
*

Brooksus

  • Давно я тут
  • 641
  • 169 / 0
  • Ща спою...
Re: Random products + карусель
« Ответ #15 : 17.11.2013, 18:37:57 »
To Geka
Скачайте и переустановите модуль (версия от 17.11.2013г. )...
Или + или YM41001160794290, или WMR R189734255107, а лучше все сразу и много.
*

Nilli

  • Новичок
  • 1
  • 0 / 0
Re: Random products + карусель
« Ответ #16 : 17.04.2015, 00:46:57 »
Доброго времени суток, я еще совсем новичок в программировании, по этому пожалуйста отнеситесь с пониманием) мне необходимо сделать прокрутку дополнительных изображений в карточке товара. Я использую JoomShopping. Пишу сюда потому что уже долгое время совсем ничего не получается. Помогите пожалуйста разобраться как именно прикрутить модуль отображения товаров (слайдер, карусель) JoomShopping. я бы его c удовольствием купила, но не пойму как его установить на мои товары.
*

ITVolk

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Random products + карусель
« Ответ #17 : 05.11.2015, 11:26:21 »
Доброго времени суток, я еще совсем новичок в программировании, по этому пожалуйста отнеситесь с пониманием) мне необходимо сделать прокрутку дополнительных изображений в карточке товара. Я использую JoomShopping. Пишу сюда потому что уже долгое время совсем ничего не получается. Помогите пожалуйста разобраться как именно прикрутить модуль отображения товаров (слайдер, карусель) JoomShopping. я бы его c удовольствием купила, но не пойму как его установить на мои товары.
В общем - какой модуль ты выберешь, так с ним и работать. Как пример - Unite Revolution Slider 2 - платный модуль, можешь прикручивать свои фотографии и описание. У меня используется как слайдер для акций. Есть разработка от Nevigen(здесь на форуме известный человек) - автоматом прокручивает товары из заданной категории. В целом совет такой - определиться что именно тебе надо и тогда уже искать нужный модуль, или просить спецов помочь тебе. Но это уже в коммерческом разделе.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не выводить товары с метками в Module Latest products

Автор longover

Ответов: 12
Просмотров: 1358
Последний ответ 25.01.2017, 14:00:34
от longover