Новости 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 Ответов
  • 2557 Просмотров
*

oleg17

  • Захожу иногда
  • 50
  • 1 / 0
У меня на сайте категории это разные города. Необходимо вывести меню только одной категории (одного города).
Можно ли такое сделать?

Или можно ли сделать модуль меню который бы водил бы как обычный модуль но не по полю категории, а по любому другому (указанному админом) полю?
Например: сделать выпадающий список подкатегории по которым бы и выводились объявления.

*

oleg17

  • Захожу иногда
  • 50
  • 1 / 0
Я понял по какому принципу это можно реализовать, но тут нужно что б кто-то с кодом подсказал...
у меня вот такая структура:
город1
город1-кат1
город1-кат2
город2
город2-кат1
город2-кат2
и так далее...

что б выводились только города нужно проверить родителя категории.
если родитель равен нулю (или город1, смотря, что нам нужно) - значит нужно выводить эту категорию.

Как такое реализовать на базе стандартного модуля поиска? что б при выборе категории поиска были только города?
*

oleg17

  • Захожу иногда
  • 50
  • 1 / 0
Блин, сам спрашиваю сам отвечаю. Может кому понадобится хак для поиска (что б выпадали только категории 1 уровня)
находите эту строчку:
// first pass - collect children
дальше смотрим по коду внизу и добавляем 2 строчки в нужных местах

Код
// first pass - collect children
foreach ($rows as $v ) {

$pt = $v->parent;

if ($pt == 0){  //добавил эту строчку для проверки
$list = @$children[$pt] ? $children[$pt] : array();
array_push( $list, $v );
$children[$pt] = $list;
} // соответственно закрыл проверку
}
« Последнее редактирование: 30.10.2010, 20:28:31 от oleg17 »
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Чувак, ты хоть скажи в каком файле рыть? :(
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
AdsManager.php

автор, у меня немного другой код:

Код
// first pass - collect children
if (isset($fields))
{
foreach ($fields as $f ) {
$pt = $f->columnid;
$list = @$fColumn[$pt] ? $fColumn[$pt] : array();
array_push( $list, $f );
$fColumn[$pt] = $list;
}
}

подскажи изменения плз
*

oleg17

  • Захожу иногда
  • 50
  • 1 / 0
чистый код:
Код
// first pass - collect children
if (isset($fields))
{
foreach ($fields as $f ) {
$pt = $f->columnid;
$list = @$fColumn[$pt] ? $fColumn[$pt] : array();
array_push( $list, $f );
$fColumn[$pt] = $list;
}
}

заменил на


// first pass - collect children
   if (isset($fields))
   {
      foreach ($fields as $f ) {


         $pt    = $f->columnid;

if ($pt == 0){  //добавил эту строчку для проверки
         $list    = @$fColumn[$pt] ? $fColumn[$pt] : array();
         array_push( $list, $f );
         $fColumn[$pt] = $list;
} // соответственно закрыл проверку
      }
   }


не ставил код, что бы цветом выделить то что я вставлял. (коричневым - весь код, красным - который вставил я)
Я код вообще не правил, только добавил проверку переменной $pt, какой код внутри это не важно.
Поидее должно работать, но другая версия может быть по другому
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как создать пункт меню на результат поиска ADS?

Автор Den85

Ответов: 1
Просмотров: 1546
Последний ответ 03.06.2018, 18:58:10
от Sabotage
Привязать модуль mod_paidsystem_feat поиску

Автор efimov777

Ответов: 5
Просмотров: 1467
Последний ответ 27.02.2018, 18:57:55
от efimov777
Привязать модуль mod_adsmanager_ads к категории

Автор efimov777

Ответов: 2
Просмотров: 16595
Последний ответ 01.02.2018, 14:01:16
от efimov777
Как встроить модуль в AdsManager?

Автор Den85

Ответов: 1
Просмотров: 21303
Последний ответ 19.01.2018, 23:15:21
от DK-Scorp
Вывести количество картинок в обьявлении

Автор Sabotage

Ответов: 4
Просмотров: 1335
Последний ответ 15.10.2017, 13:47:30
от Sabotage