Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php // Это файл в /layouts/components/com_component/your_layout.php ?> <input type="hidden" name="task" value=""> <input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"> <input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"> <?php echo HTMLHelper::_('form.token'); ?>

Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.

<?php // В Controller/View добавляем поля $this->form ->addControlField('task', '') ->addControlField('return', $input->getBase64('return', '')) ->addControlField('forcedLanguage', $forcedLanguage);

А в layout'е просто используем метод

renderControlFields()

<?php // В layout формы echo $this->form->renderControlFields();

Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.

Смотреть Pull Request

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 2346 Просмотров
*

sezon

  • Захожу иногда
  • 54
  • 0 / 0
Добрый день.
Подскажите, как правильно установить доступ для пользователя в плагине Admin User Access?
Делаю так:
1. Создаю нового пользователя через стандартное меню Joomla (Список пользователей). Указываю ему права Менеджера.
2. В Admin User Access создаю группу пользователей (например, "KURS") и добавляю в неё уже созданного пользователя.
3. Перехожу в меню "Доступ к страницам". Ставлю галочку на одном из материалов в группе (напр., группа "KURS", материал "Главная страница"). Этими действиями хочу предоставить право редактирования статьи главной страницы для нового пользователя.
4. Затем, с главной страницы совершаю вход вновь созданным пользователем и переходим на главную страницу. И тишина ... Вход выполнен, а кнопки для редактирования отсутствуют.

Прошу помощи в настройке этого плагина.
*

sezon

  • Захожу иногда
  • 54
  • 0 / 0
Re: Admin User Access: как использовать?
« Ответ #1 : 12.02.2013, 10:53:40 »
Продолжение.
Этот плагин предназначен для управления доступом пользователей через оболочку администратора сайта, а не через оболочку самого сайта.
Установил триал-версию. Ограничение - 30 дней. Для продления ограничения нужно просто заново установить тот же триал. Данные сохраняться.

Теперь по работе плагина ...
Добавил нового пользователя ... указал, какие страницы ему можно редактировать ... НО, при входе этим пользователем ВСЕ страницы ЗАБЛОКИРОВАНЫ !
Даже те, которым разрешен доступ ...

В чём может быть причина? Как исправить?
*

dolphinbibik

  • Новичок
  • 7
  • 0 / 0
Re: Admin User Access: как использовать?
« Ответ #2 : 12.08.2013, 14:57:17 »
Продолжение.
Этот плагин предназначен для управления доступом пользователей через оболочку администратора сайта, а не через оболочку самого сайта.
Установил триал-версию. Ограничение - 30 дней. Для продления ограничения нужно просто заново установить тот же триал. Данные сохраняться.

Теперь по работе плагина ...
Добавил нового пользователя ... указал, какие страницы ему можно редактировать ... НО, при входе этим пользователем ВСЕ страницы ЗАБЛОКИРОВАНЫ !
Даже те, которым разрешен доступ ...

В чём может быть причина? Как исправить?

Спасибо за заметку про использование триал-версий. Неожиданно, буду как-то пробовать.
Что касаемо твоего доступа, тебе надо доустановить компонент noixACL 2.0 и компонент работы с иконками управления CQI - CustomQuickIcons.

Вот такой компот выходит, это копипаст человека с чей подачи делал:

"очень много раз видел на форуме вопросы наподобие:

"...как создать дополнительную группу пользователей?"
"...как создать определенный интерфейс для определенных пользователей в админке?"
"...как разграничить доступ и видимость компонентов для разных групп администраторов?"
и т.п., даже сам их задавал...

Как вариант решения были всякие хаки, правка кода и пр. прелести, непонятные совсем простому пользователю, либо платные системы типа JUGA и т.п. которые функционалом обладают мощным, но не на 100%.

Хочу поделиться своим способом решения указанной задачи.

1. Компонент noixACL 2.0
 -компонент позволяет создавать как новые группы пользователей (например "superpuper administrator", "newsmaker" и т.п.) так и новые "уровни" пользователей (дополнительно к Public, Registered, Special). Данный компонент встраивается в управление пользователями Joomla, никаких хаков кода.
Меня интересовали именно группы пользователей, для создания им. индивидуальной админки - например "newsmaker", Parent Group - Административная панель.
Ну и пользователя пока создаём - "Vasia" и делаем ему права "administrator" временно.

2. Компонент CQI - CustomQuickIcons
- Позволяет создавать "свои" иконки в панели управления для любых компонентов вашего сайта, а также задавать права - КОМУ будут видны эти иконки. Можно выбрать как группу пользователей (в моем случае это "newsmaker"), так и отдельновзятого пользователя (например ТОЛЬКО для "Vasia")

3. Компонент Admin-User-Access (basic)
Ограниченная версия компонента Admin-User-Access (pro). Позволяет создавать СВОЕ меню в админке (дополнительно или вместо стандартного), а также управлять доступом групп пользователей к компонентам. (Версия PRO также умеет управлять доступом к модулям и плагинам админки, но она платная). Создаю группу "newsmaker" и разрешаю этой группе использовать только один компонент, в моем случае EventList, но это неважно. Отключаю для этой группы системное меню вообще (к примеру). Во вкладке "Users" для созданного пользователя Vasia добавляю в эту группу "newsmaker".

4. Снова захожу в noixACL 2.0 и меняю группу для Vasia с administrator на newsmaker.

Собственно все.
Теперь пользователь Vasia, входящий в группу "newsmaker" может войти в админку сайта, и увидит там одну единственную кнопочку - ту которую я сделал в CQI - CustomQuickIcons для компонента EventList и группы пользователей "newsmaker". Системное меню пустое - там ничего нету. Если его не отключать, то доступа все равно не будет ни к каким компонентам кроме мною разрешенного. Справа стандартные модули админки "кто на сайте" и т.п. - их можно отключить или сделать своими. К такой админке уже можно подпускать "девочку секретаршу"

PS Все компоненты Joomla 1.5 Native, все "Non-Commercial", т.е. свободно скачиваемые бесплатно."


Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Fatal error: Class 'JTableMenu' not found in /home/mixanasty/domains//public_html/admin

Автор webch

Ответов: 5
Просмотров: 3438
Последний ответ 11.05.2015, 13:25:05
от HellRabbid
JUser::_load: Unable to load user with id: 69

Автор atolic

Ответов: 1
Просмотров: 1499
Последний ответ 22.04.2014, 17:21:05
от darkghost
Можно ли использовать разворачивающиеся плагины (вроде Tabs & Slides) внутри Zoo Items

Автор felis_m

Ответов: 6
Просмотров: 3001
Последний ответ 31.03.2014, 23:15:34
от Goha85
Помогите JUser::_load: Unable to load user with id: 62

Автор midao

Ответов: 25
Просмотров: 19191
Последний ответ 08.01.2014, 01:56:48
от sdiev
Admin Chat - чат для руководства сайта

Автор Marlboro

Ответов: 1
Просмотров: 1431
Последний ответ 14.03.2013, 22:46:32
от wishlight