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

den_ko

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
Фильтр записей в AdsManager
« : 02.12.2009, 04:33:00 »
Столкнулся с проблемой фильтрации записей в AdsManager 2.5RC2. Создал поле multicheckbox с несколькими значениями (марка1,марка2,...), при расширенном поиске по данному полю не происходит фильтрация записей если выбрать более одного значения и если сама запись содержит более одного значение поля multicheckbox.
Подскажите пожалуйста, как заставить это работать.

[вложение удалено Администратором]
« Последнее редактирование: 02.12.2009, 04:36:13 от den_ko »
*

den_ko

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
Re: Фильтр записей в AdsManager
« Ответ #1 : 06.12.2009, 00:10:35 »
 ^-^раз никто не знает, решил проблемку сам. Для каждого значения создал multicheckbox, который хранил всего лишь одно значение (марка1 или марка2).
*

genius_80

  • Осваиваюсь на форуме
  • 10
  • 2 / 1
  • База танцоров гоу-гоу
Re: Фильтр записей в AdsManager
« Ответ #2 : 23.04.2012, 04:12:55 »
Реально столкнулся с той же проблемой в версии 2.6.5.
Потребовалось изменить файл administrator->components->com_adsmanager->models->field.php
Было
Код
				case 'multicheckbox':
case 'multiselect':
$value = JRequest::getVar( $fsearch->name, array() );
for($i = 0,$nb=count($value);$i < $nb;$i++)
{
if ($i == 0)
$search .= " AND (";
$search .= "a.$fsearch->name = ".$this->_db->Quote(",".$value[$i].",");
if ($i < $nb - 1)
$search .= " OR ";
else
$search .= " )";
}
break;
Стало
Код
				case 'multicheckbox':
case 'multiselect':
$value = JRequest::getVar( $fsearch->name, array() );
for($i = 0,$nb=count($value);$i < $nb;$i++)
{
if ($i == 0)
$search .= " AND (";
//$search .= "a.$fsearch->name = ".$this->_db->Quote(",".$value[$i].",");
$search .= "a.$fsearch->name LIKE '%,$value[$i],%'";
if ($i < $nb - 1)
$search .= " OR ";
else
$search .= " )";
}
break;
Проблема решена, поиск работает правильно.
« Последнее редактирование: 23.04.2012, 04:44:51 от genius_80 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 6112
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 16781
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 5327
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 15765
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 30637
Последний ответ 27.03.2020, 22:32:04
от Pavel