Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

🏆 Открыто голосование за 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 Гость просматривают эту тему.
  • 13 Ответов
  • 3689 Просмотров
*

kanevlife

  • Захожу иногда
  • 89
  • 10 / 0
  • Всегда читай до конца, и не будет лишних вопросов
Поля AdsManager
« : 13.06.2013, 18:19:26 »
AdsManager 2.8.2 Joomla 3.1

Поле Тип: Check Box (Multiple Images) - стандартно выводит изображение только в полном объявлении.
 
Вопрос: - как вывести изображение из этого поля, например в модуле mod_adsmanager_ads перед заголовком?
Вариант:
Код
echo $row->ad_icon;
(ad_icon - имя поля условно) выводит только содержимое из alt, т.е. 'pro (условно)'.

Если это возможно, то можно будет в модулях через админку присваивать с помощью изображения статус объявлению: - pro, vip и т.д.
С уважением, kanevlife.
« Последнее редактирование: 18.09.2013, 22:24:32 от kanevlife »
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Re: Поля AdsManager
« Ответ #1 : 19.06.2013, 20:54:40 »
1. в настройках модуля добавить имя требуемого поля
2. до вывода заголовка вставить
Код
	foreach($adfields as $f) {
$fieldname = $f->name;
if (($row->$fieldname != null)&&($fieldname=='имя требуемого поля')) {
echo $field->showFieldValue($row,$f);
break;
}
}
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

kanevlife

  • Захожу иногда
  • 89
  • 10 / 0
  • Всегда читай до конца, и не будет лишних вопросов
Re: Поля AdsManager
« Ответ #2 : 19.06.2013, 22:29:06 »
Alex89, Вам +++!
Решено. Все работает отлично! Почему-то совсем забыл о полях в самом модуле, да и код там тоже присутствует. Извините за отобранное у Вас время.
И если не затруднит, то как объединить эти два поля
Код
foreach($adfields as $f) {
$fieldname = $f->name;
if (($row->$fieldname != null)&&($fieldname=='ad_icon')) {
echo $field->showFieldValue($row,$f);    
break;
}
}  
echo " <a href='$linkTarget'>".$row->ad_headline."</a>";
в одну строку?

С уважением, kanevlife.
« Последнее редактирование: 21.06.2013, 06:08:52 от kanevlife »
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Re: Поля AdsManager
« Ответ #3 : 20.06.2013, 14:16:37 »
Код
	foreach($adfields as $f) {
$fieldname = $f->name;
if (($row->$fieldname != null)&&($fieldname=='ad_icon')) {
$icon=$field->showFieldValue($row,$f)
echo $icon." <a href='$linkTarget'>".$row->ad_headline.'</a>';     
break;
}
}
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

kanevlife

  • Захожу иногда
  • 89
  • 10 / 0
  • Всегда читай до конца, и не будет лишних вопросов
Re: Поля AdsManager
« Ответ #4 : 20.06.2013, 15:14:09 »
Ув. Alex89.
Почему-то не получилось. Выдает ошибку: "Parse error: syntax error, unexpected T_ECHO in J:\home\localhost..."
С уважением, kanevlife.
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Re: Поля AdsManager
« Ответ #5 : 20.06.2013, 15:18:46 »
блин, опечатался :)
в конце строки
Код
$icon=$field->showFieldValue($row,$f)
добавьте точку с запятой - ";"
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

kanevlife

  • Захожу иногда
  • 89
  • 10 / 0
  • Всегда читай до конца, и не будет лишних вопросов
Re: Поля AdsManager
« Ответ #6 : 20.06.2013, 15:44:59 »
Добавил - ;
Вот код:
 
Спойлер
[свернуть]
и вот что получилось
Там, где нет доп.поля, заглавие пропало совсем, а там где есть, то ничего пока не изменилось. Вот такая незадача.
С уважением, kanevlife.
« Последнее редактирование: 21.06.2013, 06:11:39 от kanevlife »
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Re: Поля AdsManager
« Ответ #7 : 20.06.2013, 16:41:52 »
попробуйте ещё так:
Код
foreach($adfields as $f) {
$fieldname = $f->name;
if (($row->$fieldname != null)&&($fieldname=='ad_icon')) {
$icon=$field->showFieldValue($row,$f);
$icon=str_replace("<div class='multicheckboxfield'>","",$icon);
$icon=str_replace("</div","",$icon);
break;
}
}
echo " <a href='$linkTarget'>".$row->ad_headline.'</a>'
блин, сложновато наобум придумывать код, а создавать у себя поле и тестировать лень :)
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

kanevlife

  • Захожу иногда
  • 89
  • 10 / 0
  • Всегда читай до конца, и не будет лишних вопросов
Re: Поля AdsManager
« Ответ #8 : 20.06.2013, 17:07:05 »
2
« Последнее редактирование: 22.06.2013, 10:54:57 от kanevlife »
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Re: Поля AdsManager
« Ответ #9 : 20.06.2013, 17:37:12 »
ну если хотите пришлите бэкап сайта и БД, поглядеть хоть
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

kanevlife

  • Захожу иногда
  • 89
  • 10 / 0
  • Всегда читай до конца, и не будет лишних вопросов
Re: Поля AdsManager
« Ответ #10 : 20.06.2013, 18:11:32 »
На Ваш email AlexXXX12389@mail.ru добавил архив с бэкапом сайта. Интересно Ваше мнение. Сайт в начальной стадии разработки. Буду благодарен за замечания.
 
KanevLife
*

kanevlife

  • Захожу иногда
  • 89
  • 10 / 0
  • Всегда читай до конца, и не будет лишних вопросов
Re: Поля AdsManager
« Ответ #11 : 21.06.2013, 12:37:54 »
Решено! Добавил "echo", закрыл "</div>". Alex89, Ваша работа на 5+. Жму на третий +. Вот результат Вашей работы:
Спойлер
[свернуть]
и Ваш код:
 
Спойлер
[свернуть]
С уважением, kanevlife.
*

kanevlife

  • Захожу иногда
  • 89
  • 10 / 0
  • Всегда читай до конца, и не будет лишних вопросов
Re: Поля AdsManager
« Ответ #12 : 24.06.2013, 22:04:52 »
Alex89, приветствую Вас, гуру!
AdsManager 2.8.2 форма "Добавить объявление".
Вопрос: - есть два поля Цена (ad_price ) и Валюта (ad_currency). Стандартно они выводятся в столбик, а сложно вывести их в одну строку?
С уважением KanevLife
*

kanevlife

  • Захожу иногда
  • 89
  • 10 / 0
  • Всегда читай до конца, и не будет лишних вопросов
Re: Поля AdsManager
« Ответ #13 : 03.07.2013, 09:29:42 »
Решено. Убрать <br/>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор nicklas

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

Автор klekovkinandrey

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

Автор FlexNL

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

Автор murovoz

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

Автор kaman62

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