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

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
[Решено]Звездочка *
« : 29.03.2012, 11:48:21 »
Доброго времени суток.
Подскажите пожалуйста,как реализовать в адс 2.6.5,рядом с обязательными полями была звездочка (*)
Заранее благодарен!
« Последнее редактирование: 12.06.2012, 15:29:04 от lovivolnu »
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Звездочка *
« Ответ #1 : 01.04.2012, 19:19:33 »
 !
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
Re: Звездочка *
« Ответ #2 : 01.04.2012, 21:06:51 »
Я заметил, что на многих подобных сайтах ставят "звездочку" около описания названия данного поля. Чем вам этот вариант не устраивает.
Проще ведь так.
Просто в языковом файле сайт/language/ru-RU/ru-RU.com_adsmanager.ini  найти нужное слово, например "Категория" (это поле ADSMANAGER_FORM_CATEGORY="Категория")
и сделать так
ADSMANAGER_FORM_CATEGORY="<p>Категория <strong><span style="color: #ff0000;">*</span></strong></p>"
Будет это выглядеть так: Категория *

Можно конечно сделать, чтобы перед полем эта "звездочка" была, но это уже не так красиво.
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Звездочка *
« Ответ #3 : 01.04.2012, 23:49:11 »
этот вариант не утраивает,т.к. при выводе информации в контактах появляется эта звездочка,в поиске,в сортировке,в личном кабинете,что не есть хорошо, т.к. это вводит человека в заблуждение,например в расширеном поиске многие думают из-за этих звездочек,что это обязательные поля для заполнения.
нужно,чтобы она была только в форме добавления объявления
« Последнее редактирование: 01.04.2012, 23:54:55 от lovivolnu »
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Звездочка *
« Ответ #4 : 03.04.2012, 12:27:19 »
тема по прежнему актуальна
« Последнее редактирование: 05.04.2012, 17:55:26 от lovivolnu »
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Звездочка *
« Ответ #5 : 10.04.2012, 15:09:16 »
помогите !
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Звездочка *
« Ответ #6 : 24.04.2012, 10:08:49 »
самый актуальный вопрос!)))
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Звездочка *
« Ответ #7 : 13.05.2012, 18:49:26 »
Ну так задайте соответствующее условие и сделайте вывод любого символа или строчки, которые только захотите. Ничего же сложного, две-три строчки написать всего.
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Звездочка *
« Ответ #8 : 13.05.2012, 19:13:13 »
Не могли бы Вы написать решение,т.к. в написании кодов ничего не понимаю.Заранее спасибо
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Звездочка *
« Ответ #9 : 27.05.2012, 18:12:46 »
хотя б подскажите в каком направлении искать?какой файл править?
*

matsur

  • Новичок
  • 3
  • 0 / 0
Re: Звездочка *
« Ответ #10 : 07.06.2012, 11:04:51 »
Могу предложить следующее…
Заходите в phpMyAdmin  в БД находите таблицу jos_adsmanager_fields в этой таблице есть поле title в котором прописаны значения (ADSMANAGER_FORM_NAME и тд …).

В этой таблице создаём  новое поле с параметрами title (varchar, (255) ) обзываем как хотим например (title2). Прописываем значения свои пример (ADSMANAGER_TITLE_NAME и тд …).

Идем в language\ru-RU\ находим файл ru-RU.com_adsmanager.ini открываем, внизу прописываем свои значения, которые прописывали в новом поле в таблице jos_adsmanager_fields пример (ADSMANAGER_TITLE_NAME="Имя,фамилия*") только делайте по списку чтобы не было путаницы.

Идем в www\components\com_adsmanager\helpers\ открываем файл field.php находим строку примерно 217
Код
function showFieldForm($field,$content,$default)
{
$strtitle = JText::_($field->title);
if (isset($strtitle)) {
$return .= "<tr id='tr_".$field->name."'><td>".$strtitle."</td>\n";
$strtitle = htmlspecialchars($strtitle);
}
меняем title на то что вы прописали в таблице в новом поле пример
Код
function showFieldForm($field,$content,$default)
{
$strtitle = JText::_($field->title2);
if (isset($strtitle)) {
$return .= "<tr id='tr_".$field->name."'><td>".$strtitle."</td>\n";
$strtitle = htmlspecialchars($strtitle);
}
может есть проще способ но пока все верстальщики молчат, хотя я дольше писал этот текст....
Не забывайте сохранятся.
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Звездочка *
« Ответ #11 : 07.06.2012, 14:54:29 »
Большое спасибо.Будем пробовать!
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Звездочка *
« Ответ #12 : 12.06.2012, 13:58:53 »
Заходите в
\components\com_adsmanager\helpers\field.php
находите:
if (isset($strtitle)) {
         $return .= "<tr id='tr_".$field->name."'><td>".$strtitle."</td>\n";
         $strtitle = htmlspecialchars($strtitle);
      }
и меняете на:
if (isset($strtitle)) {
         if ($field->required == 1) {
            $return .= "<tr id='tr_".$field->name."'><td>".$strtitle."<font color='#ff0000'> *</font></td>\n";}
         else {
            $return .= "<tr id='tr_".$field->name."'><td>".$strtitle."</td>\n";}
         $strtitle = htmlspecialchars($strtitle);
      }
Ну и в AdsManager.css меняете цвет поля, чтоб не отличался от остальных.
Прокатит только для AdsManager 2.6.x, для 2.7 - не пройдет.
Пример: http://bezgazet.kiev.ua
« Последнее редактирование: 12.06.2012, 14:47:31 от max_1985 »
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Звездочка *
« Ответ #13 : 12.06.2012, 15:28:38 »
max_1985,отлично,работает.спасибо! + :)
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Re: [Решено] Звездочка *
« Ответ #14 : 10.10.2012, 11:01:14 »
.
   
« Последнее редактирование: 07.11.2012, 16:13:05 от LS_D »
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Re: [Решено] Звездочка *
« Ответ #15 : 07.11.2012, 16:13:13 »
Переляпал под 2.7, все работает отлично.
function showFieldLabel($field,$content,$default)
   {
      $return = JText::_($field->title);
      
      if ($field->required == 1) {
            $return = JText::_($field->title)."<font size='3px'; color='#ff0000'><b> *</b></font>";
         }
         else {
            $return = JText::_($field->title)."";}
      return $return;
   }
*

nadirzaz

  • Новичок
  • 7
  • 0 / 0
RE: Звездочка *
« Ответ #16 : 15.08.2014, 18:32:15 »
А как на AdsManager 2.9 сделать звёздочки перед обязательными полями
*

grinat

  • Захожу иногда
  • 356
  • 34 / 2
RE: Звездочка *
« Ответ #17 : 22.08.2014, 11:43:50 »
А как на AdsManager 2.9 сделать звёздочки перед обязательными полями
Самый простой вариант, это в названии поля в конце * ставить.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор nicklas

Ответов: 4
Просмотров: 6112
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
[Решено] Похожие объявления в AdsManager 2.9.13

Автор Ishti39

Ответов: 17
Просмотров: 5490
Последний ответ 06.06.2017, 22:08:18
от gremeru777
[Решено] IP адрес разместившего объявление в ADS 2.5 Как ?

Автор semo777

Ответов: 20
Просмотров: 5370
Последний ответ 15.03.2017, 22:22:15
от lustoff
(решено) re captcha не работала на AdsManager

Автор zvi

Ответов: 3
Просмотров: 2810
Последний ответ 10.01.2017, 08:41:57
от svoyak70
(Решено) Уведомления на e-mail - как получать данные со всех полей?

Автор nalegramus

Ответов: 6
Просмотров: 2725
Последний ответ 02.06.2016, 19:41:35
от biper