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

M@}{

  • Новичок
  • 1
  • 0 / 0
Изменение mainmenu
« : 19.11.2011, 16:44:12 »
Есть необходимость убрать лишние div блоки и атрибуты из ul, а так же добавить класс active для li, и убрать все лишнее.
Методом проб выяснил что часть все это находится в mod_mainmenu, с лишними div блоков тоже разобрался, решается с помощью задание style=nоne, осталось перебрать сам mainmenu
Наглядно, что необходимо получить.
Было:
Код
<div class="moduletable">
<ul id="mainlevel">
<li><a href="#" class="mainlevel" id="active_menu">#</a></li>
<li><a href="#" class="mainlevel" >#</a></li>
<li><a href="#" class="mainlevel" >#</a></li>
<li><a href="#" class="mainlevel" >#</a></li>
</ul>
</div>
Необходимо:
Код
<ul>
<li><a href="#">#</a></li>
<li class="active"><a href="#">#</a></li>
<li><a href="#">#</a></li>
<li><a href="#">#</a></li>
<li><a href="#">#</a></li>
</ul>

Re: Изменение mainmenu
« Ответ #1 : 19.11.2011, 23:25:52 »
Добрый вечер помогите разобраться с шаблоном, дело в том что в шаблоне есть верхнее меню и когда наводишь на главную страницу то выходит выпадающее меню как и где его убрать не могу разабраться, вот сайт молния-пермь.рф а также название шаблона world-cup-2010-template
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменение JA Purity

Автор green45

Ответов: 71
Просмотров: 40745
Последний ответ 01.01.2016, 14:39:28
от Naum
Изменение ширины позиций под модули в шаблоне ICKI Sports Gavick

Автор Outstanding

Ответов: 4
Просмотров: 1894
Последний ответ 14.07.2013, 23:49:27
от Outstanding
Изменение ширины шаблона

Автор genkuk

Ответов: 8
Просмотров: 4048
Последний ответ 12.08.2012, 08:36:09
от alex75300
Изменение позиции highlight

Автор aspidx

Ответов: 2
Просмотров: 1730
Последний ответ 28.07.2012, 19:34:27
от aspidx
Изменение шаблона мобильной версии

Автор laverpnz

Ответов: 1
Просмотров: 2410
Последний ответ 23.07.2012, 22:03:08
от wfedin