Новости 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 Ответов
  • 4762 Просмотров
*

LYUKS AERO

  • Новичок
  • 2
  • 0 / 0
комментарии
« : 20.11.2017, 13:59:44 »
Пожалуйста срочно.... Не могу поместить комментарии от контакта где обычно отображаются комментарии. Что только не пробовала может в самом тексте HTML неправильно записано.

<!-- Put this script tag to the <head> of your page -->
<script type="text/javascript" src="http://vk.com/js/api/openapi.js?150"></script>
<script type="text/javascript">// <![CDATA[
VK.init({apiId: 6265608, onlyWidgets: true});
// ]]></script>
<!-- Put this div tag to the place, where the Comments block will be -->
<div id="vk_comments"> </div>
<script type="text/javascript">// <![CDATA[
VK.Widgets.Comments("vk_comments", {limit: 10, attach: "*"});
// ]]></script>
*

LYUKS AERO

  • Новичок
  • 2
  • 0 / 0
Re: комментарии
« Ответ #1 : 20.11.2017, 14:04:04 »
Пожалуйста срочно.... Не могу поместить комментарии от контакта где обычно отображаются комментарии. Что только не пробовала может в самом тексте HTML неправильно записано.

<!-- Put this script tag to the <head> of your page -->
<script type="text/javascript" src="http://vk.com/js/api/openapi.js?150"></script>
<script type="text/javascript">// <![CDATA[
VK.init({apiId: 6265608, onlyWidgets: true});
// ]]></script>
<!-- Put this div tag to the place, where the Comments block will be -->
<div id="vk_comments"> </div>
<script type="text/javascript">// <![CDATA[
VK.Widgets.Comments("vk_comments", {limit: 10, attach: "*"});
// ]]></script>



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