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

artanto

  • Захожу иногда
  • 55
  • 2 / 0
  • промокод для Majordomo - MDG78352
Здравствуйте,
Юзал поиск, подходящей темы не нашел (возможно, плохо искал).
Zoo 2.3, есть приложение - Product, в нем есть элементы, в элементах есть повторяемые поля Textarea (кнопка "Добавить еще Textarea").
Вопрос заключается в следующем:
можно ли разграничить доступ к каждому полю Textarea, т.е. все могут видеть первые 4 блока Textarea, а 2 последних блока - только зарегеные?
Если у йоотемовцев нет плагина, то прошу Вас посоветовать подобные желательно для Zoo.
Заранее благодарю.
« Последнее редактирование: 08.02.2011, 13:28:16 от artanto »
*

-Dima-

  • Захожу иногда
  • 85
  • 14 / 0
Собственно, эта тема уже подымалась

http://joomlaforum.ru/index.php/topic,144167.msg785365.html#msg785365

Ну раз тема переодически подымается напишу всем готовое решение! Чтоб больше подобных вопросов не было!

файл \media\zoo\applications\ %Ваш апликейшн%\templates\default\renderer\item\full.php

Вставьте код где хотели бы видеть выдаваемую инфу

Код
                        <?php
$user = JFactory::getUser();
if ($user->get('aid', 0)>=1):
//Вывод инфы для зарегистрированных пользователей
?>
<?php if ($this->checkPosition('registered')) : ?>
<div class="pos-description">
<?php echo $this->renderPosition('registered', array('style' => 'block')); ?>
</div>
<?php endif; ?>
<?php else:
//Вывод инфы для не зарегистрированных пользователей
?>
<?php if ($this->checkPosition('notregistered')) : ?>
<div class="pos-description">
<?php echo $this->renderPosition('notregistered', array('style' => 'block')); ?>
</div>
<?php endif;?>
<?php endif;?>

файл \media\zoo\applications\ %Ваш апликейшн%\templates\default\renderer\item\positions.xml

Вставляете такие две строчки:
Код
<position name="registered">For Registered Users</position>
<position name="notregistered">For Not Registered Users</position>

Пример:

Код
<renderer>
<positions layout="full">
<position name="top">Top</position>
<position name="title">Title</position>
<position name="media">Media</position>
<position name="description">Description</position>
<position name="registered">For Registered Users</position>
<position name="notregistered">For Not Registered Users</position>
............

Ну и в админке настраиваете поля которые будут видны для зарегистрированных и не зарегестрированных пользователей

Вот и Все!
« Последнее редактирование: 08.02.2011, 14:50:38 от -Dima- »
*

artanto

  • Захожу иногда
  • 55
  • 2 / 0
  • промокод для Majordomo - MDG78352
Мда, что-то я перемудрил с плагинами :), хотел чтоб напротив каждого поля был выбор доступа, а с позишинами не додумался. Действительно всё гениальное - просто.
-Dima-, спасибо большущее за то, что наставили на путь истинный.

P.S.: единственное примечание - позишн For Not Registered Users не обязательно добавлять, т.к. родной позишн Description выполняет туже роль.
« Последнее редактирование: 08.02.2011, 17:15:38 от artanto »
*

-Dima-

  • Захожу иногда
  • 85
  • 14 / 0
Та, на здоровье!;)
А по поводу, что не обязательно, то это уже сугубо индивидуально!
(В этом поле к примеру можно написать "Зарегистрируйтесь, чтобы видеть полную информацию о продукте").

Я просто показал Вам метод решения ;)
*

tanux

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Почему-то не получается :(. В шаблоне видно разделы для зарегистрированных и незарегистрированных, а при выводе на фронтенд  поля не отображаются :(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Готовые шаблоны элементов для Zoo 2.4 и выше

Автор palan

Ответов: 219
Просмотров: 74336
Последний ответ 28.11.2016, 11:54:32
от konkoord
[Решено] Превью в виде картинки с youtube для элемента MEDIA

Автор likrion

Ответов: 4
Просмотров: 4496
Последний ответ 13.10.2016, 07:02:34
от Театрал
[Решено] Как упорядочить приложения zoo во вкладках?

Автор aniangeless

Ответов: 2
Просмотров: 1607
Последний ответ 24.03.2015, 17:27:01
от aniangeless
[Решено] ХАК Режима Доверия в "business directory" (ZOO 2.3)

Автор Dr_Satyr

Ответов: 16
Просмотров: 7538
Последний ответ 18.02.2015, 13:31:47
от xavier13
Самопроизвольное выключение элементов каталога

Автор gorodS

Ответов: 2
Просмотров: 1776
Последний ответ 18.11.2014, 09:47:32
от gorodS