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

lsk

  • Захожу иногда
  • 362
  • 13 / 5
Формат цены AdsManager
« : 16.09.2011, 11:02:54 »
AdsManager 2.6.4 + J1.7
Цена выводится с точкой "100.00". Как убрать копейки?
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Формат цены AdsManager
« Ответ #1 : 16.09.2011, 12:29:35 »
тоже интересно понял тока одно делается это походу через файл русификации ADSMANAGER_DEVICE="%s  р."   вместо S нужно что то другое поставить.
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Формат цены AdsManager
« Ответ #2 : 16.09.2011, 17:46:30 »
component/frontend/helpers/field.php

168                   case 'price':
169                                                                     if ($value != "") {        
170                                                                   $return .= sprintf(JText::_('ADSMANAGER_DEVICE'),number_format(floatval($value), 2, '.', ' '));
171                                                                     }
172                                                                    $return .= "<br />";
173                                                                         break;
меняем на

168                  case 'price':
169                                                                          if ($value != ""){
170                             $return .= sprintf(JText::_('ADSMANAGER_DEVICE'),$value);
171                                                                          $return .= "<br />"; }
172                                                                            break;
« Последнее редактирование: 16.09.2011, 23:36:07 от mbgr »
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Формат цены AdsManager
« Ответ #3 : 19.09.2011, 14:56:49 »
ага спасибо сделал так
$return .= sprintf(JText::_('ADSMANAGER_DEVICE'),number_format(floatval($value), 0, '.', ' '));
*

Bobby

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Формат цены AdsManager
« Ответ #4 : 20.09.2012, 17:01:41 »
component/frontend/helpers/field.php

168                   case 'price':
169                                                                     if ($value != "") {       
170                                                                   $return .= sprintf(JText::_('ADSMANAGER_DEVICE'),number_format(floatval($value), 2, '.', ' '));
171                                                                     }
172                                                                    $return .= "<br />";
173                                                                         break;
меняем на

168                  case 'price':
169                                                                          if ($value != ""){
170                             $return .= sprintf(JText::_('ADSMANAGER_DEVICE'),$value);
171                                                                          $return .= "<br />"; }
172                                                                            break;



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

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Формат цены AdsManager
« Ответ #5 : 20.09.2012, 20:36:23 »


Сделал как написано, спасибо получилось, но только пробелы пропали как сделать что бы разделяло тысячи и миллионы, так как визуально лучше воспринимается?
Если хотите, чтобы цены всё-таки форматировались, не нужно было убирать соответствующую функцию, а необходимо было лишь поменять одну циферку.

Вместо

Код
$return .= sprintf(JText::_('ADSMANAGER_DEVICE'),number_format(floatval($value), 2, '.', ' '));

пишем

Код
$return .= sprintf(JText::_('ADSMANAGER_DEVICE'),number_format(floatval($value), 0, '.', ' '));

P.S. Если лень потратить 20 секунд на поиски в Google,

Код
0, '.', ' '

одинарные кавычки с пробелом - то, что ставится между разрядами (в нашем случае - тысячами) чисел.
одинарные скобочки с точкой - то, чем отделять десятичную дробь.
0 - количество знаков, которые нужно отделять.
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в 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
Просмотров: 30639
Последний ответ 27.03.2020, 22:32:04
от Pavel