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

Vitaly163

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Здравствуйте, подскажите пожалуйста, как реализовать следующее:
Запретить всем авторам редактирование своих статей, кроме нескольких авторов. Joomla 1.5.14

Первую часть: "Запретить всем авторам редактирование своих статей" можно решить при помощи хака:
/components/com_content/helpers/icon.php:
Код
if (!$access->canEdit && !($access->canEditOwn && $article->created_by == $user->get('id'))) {
return;
}
на
Код
if (!$access->canEdit) {
return;
}
Что нужно поменять в этом файле, чтобы только несколько известных пользователей могли редактировать свои статьи (а остальные не могли)?
Спасибо, за внимание!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Да уж. На подобие темы разжевывались помоему уже не однократно.
Этим хаком вы не кому ничего не запрещаете, а просто убираете иконку на редактирование. Если ввести правильный урл пользователь сможет все равно отредактировать свою статью.
В ваше м случае я бы лучше подумал о правах пользователей.
Как вариант если допустим не используется группа редактор, то можно сделать так.
Открываем файл libraries\joomla\user\authorization.php
Убираем в нем
Код
$this->addACL( 'com_content', 'edit', 'users', 'author', 'content', 'own' );
Это запретит авторам редактировать свою статью.
Дальше заменяем
Код
$this->addACL( 'com_content', 'edit', 'users', 'editor', 'content', 'all' );
на
Код
$this->addACL( 'com_content', 'edit', 'users', 'editor', 'content', 'own' );
Что позволит пользователям группы редакторам редактировать не все материалы, а только собственные.
Ну и все нужным пользователям ставим права редактора.
*

Vitaly163

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
SmokerMan, Большое спасибо за помощь!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как запретить к индексации в robot.txt?

Автор kirill-juk

Ответов: 3
Просмотров: 3227
Последний ответ 07.02.2023, 13:53:30
от Ратник
Читать всем у кого белый экран!

Автор SmokerMan

Ответов: 583
Просмотров: 297976
Последний ответ 11.11.2022, 15:43:32
от goga_pgasovav
Ошибка 502 Bad Gateway на нескольких страницах

Автор Elimelech

Ответов: 1
Просмотров: 2047
Последний ответ 30.06.2017, 22:36:18
от ProtectYourSite
Удалить все ключевые слова из всех статей

Автор AzMandius

Ответов: 2
Просмотров: 2757
Последний ответ 16.05.2017, 00:18:51
от AzMandius
Сортировка статей по дате в 'backend'.

Автор Kumelis

Ответов: 8
Просмотров: 3344
Последний ответ 09.02.2017, 07:09:26
от jem777