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

magistr_yoda

  • Захожу иногда
  • 131
  • 2 / 0
Сейчас дорабатываю этот компонент под свои нужны -
Офигеть что за программер писал этот AdsManager, нигде нету комментариев к функциям, что делают, откуда вызываются итд
Вот например
Код: php
	function getNbContents($filters = null)
    {
    $sql = "SELECT a.id ".
" FROM #__adsmanager_ads as a ".
" INNER JOIN #__adsmanager_adcat as adcat ON adcat.adid = a.id ".
" LEFT JOIN #__users as u ON a.userid = u.id ".
" INNER JOIN #__adsmanager_categories as c ON adcat.catid = c.id ".
" LEFT JOIN #__adsmanager_categories as p ON c.parent = p.id ";

  /* Filters */
    $sql .= $this->_getSQLFilter($filters);

    $sql .= " GROUP BY a.id";

    $this->_db->setQuery($sql);

    $result = $this->_db->loadObjectList();
    $nb = count($result);
return $nb;
    }

Что за функция - откуда она вызывается, сразу непонятно и таких участков кода много.
Можно конечно дать поиск по файлам и найти, но как то долго всё это перекапывать.
Есть ли какая нибудь документация для кодеров по AdsManager ?
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Вы чо прикалываетесь что ли? Конечно нету и не будет никогда! А по тому
Цитировать
Что за функция - откуда она вызывается, сразу непонятно
сразу понятно какой "кодер" смотрел! Одного взгляда хватает, чтобы понять что эта функция считает количество объявлений, об этом говорит и название функции и последние 3 строчки!
Цитировать
и таких участков кода много.
Весь компонент написан максимально понятно (для понимающих людей). Я по крайней мере не встречал ни одного бесплатного компонента, в котором бы было всё подробно прокомментировано... Максимум в нескольких местах, где автор второпях забыл подчистить комментарии! Почитайте про MVC и сразу станет понятно - что и откуда вызывается и как это вообще работает! Вы извините, если нагрубил... Просто Ваше выражение
Цитировать
Офигеть что за программер писал этот AdsManager
убило меня наповал, не мог промолчать... Если не нравиться - делайте свой компонент и комментируйте сколько влезет! А автор adsmanager'a - нормальный чел, респект ему за такой отличный компонент!
 
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

magistr_yoda

  • Захожу иногда
  • 131
  • 2 / 0
Да, я не обижаюсь, просто стиль кодинга у меня и того кто писал адс меденжер - реально разный.
getNbContents
я бы назвал getNumContents

Вместо
$result = $this->_db->loadObjectList();
$nb = count($result);

Думаю можно написать count в самом селекте
и потом просто
$result = $this->_db->loadResult();

Потом
Насчёт MVC - я с ней знаком и насколько знаю, там(в mvc под Joomla) вывод должен быть в файлах default.php(шаблонах)
а файлы view.html.php - должны выполнять только пред обработку данных для вывода, а не выводить.
Тем неменее в файле views\list\view.html.php - со строки 238
            <script language="JavaScript" type="text/javascript">
            <!--
            function popup(img) {
            titre="Popup Image";
            titre="Agrandissement";
            w=open("","image","width=400,height=400,toolbar=no,scrollbars=no,resizable=no");

- у разработчика, по сути уже не предобработка, а вывод - т.е. если потом понадобится менять визуального
отображения шаблона, придётся менять два файла, а не один.

Ну да ладно, конечно хороший компонент он написал, просто разобраться надо.
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
какой там API еще)))
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться