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

Студент

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
столкнулся с такой проблемой, при создании формы обратной связи не могу найти код где нужно переправить слова с русского на англ язык
вот этот код в котором нужно переправить
<div class="contact_email">
         <label for="contact_name">
            &nbsp;Введите ваше имя:
         </label>
         <br />
         <input type="text" name="name" id="contact_name" size="30" class="inputbox" value="" />
         <br />
         <label id="contact_emailmsg" for="contact_email">
            &nbsp;E-mail адрес:
         </label>
         <br />
         <input type="text" id="contact_email" name="email" size="30" value="" class="inputbox required validate-email" maxlength="100" />
         <br />
         <label for="contact_subject">
            &nbsp;Тема сообщения:
         </label>
         <br />
         <input type="text" name="subject" id="contact_subject" size="30" class="inputbox" value="" />
         <br /><br />
         <label id="contact_textmsg" for="contact_text">
            &nbsp;Введите текст вашего сообщения:
         </label>
         <br />
         <textarea cols="50" rows="10" name="text" id="contact_text" class="inputbox required"></textarea>
                  <br />
            <input type="checkbox" name="email_copy" id="contact_email_copy" value="1"  />
            <label for="contact_email_copy">
               Отправить копию этого сообщения на ваш адрес            </label>
                  <br />
         <br />
         <button class="button validate" type="submit">Отправить</button>
      </div>
« Последнее редактирование: 20.01.2013, 14:05:01 от Студент »
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Кодировку UTF-8 поставьте.
*

Студент

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Кодировку UTF-8 поставьте.
дело в том что я этот код найти не могу т.е. где он находится, код который я выложил этот код я взял из "исходный код"
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
В файле .htaccess прописать:

#русская кодировка utf-8
DefaultLanguage ru
AddDefaultCharset utf-8
php_value default_charset "utf-8"

И еще проверьте, что у вас в заголовке шаблона стоит - какая кодировка там указана?
*

Студент

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
В файле .htaccess прописать:

#русская кодировка utf-8
DefaultLanguage ru
AddDefaultCharset utf-8
php_value default_charset "utf-8"

И еще проверьте, что у вас в заголовке шаблона стоит - какая кодировка там указана?
.htaccess - нет у меня такого файла
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
.htaccess - нет у меня такого файла

В корне сайта есть файл htaccess.txt
Его надо переименовать в <точка>htaccess т.е. в .htaccess
*

Студент

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
даже через поиск не получается найти htaccess.txt((((
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
даже через поиск не получается найти htaccess.txt((((
А в каком месте ищите?
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Можете код шапки шаблона материала кинуть?
*

Студент

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
в папке где установлена Joomla и где лежит сам сайт
*

Студент

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
*

Студент

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Free Joomla! template by JoomlaShine.com - JSN Epic Free 2.0 for Joomla! 1.5.x -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language ?>" dir="<?php echo $this->direction; ?>">
<head>
<jdoc:include type="head" />
<?php
   require( YOURBASEPATH.DS."php/jsn_utils.php");
   /****************************************************************/
   /* TEMPLATE PARAMETERS */

   /* Overal template width specified in pixels (for fixed width) or percentage (for fluid width). */
   $template_width = $this->params->get("templateWidth", "960px");

   /* Path to logo image starting from the Joomla! root folder (! without preceding slash !). */
   $logo_path = $this->params->get("logoPath", "templates/jsn_epic_free/images/logo.jpg");

   /* Logo width specified in pixels. */
   $logo_width = $this->params->get("logoWidth", "960px");

   /* Logo height specified in pixels. */
   $logo_height = $this->params->get("logoHeight", "150px");

   /* URL where logo image should link to (! without preceding slash !). */
   $logo_link = $this->params->get("logoLink", "");

   /* Definition whether to enable PNG fix feature for IE6 or not.
      This parameter should be turned off only when there are incompatibility issues. */
   $enable_pngfix = ($this->params->get("enablePNGfix", 1) == 1)?"yes":"no"; // yes | no
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
в папке где установлена Joomla и где лежит сам сайт
Спойлер
[свернуть]
Щас вспомню, где это зарыто) С 1,5 уже не работаю...

В <head> ,,, </head> дожен быть вставлен тэг
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

В вашем случае <jdoc:include type="head" /> все генерирует. Его смотреть надо...
Или ручками прописать в заголовке нужное)
« Последнее редактирование: 20.01.2013, 13:27:45 от samuray7 »
*

Студент

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Спойлер
[свернуть]
Щас вспомню, где это зарыто) С 1,5 уже не работаю...

В <head> ,,, </head> дожен быть вставлен тэг
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

В вашем случае <jdoc:include type="head" /> все генерирует. Его смотреть надо...
Или ручками прописать в заголовке нужное)
а что именно прописать?
*

Студент

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
а самое главное куда именно после какого тега?
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
а самое главное куда именно после какого тега?
Скайп есть? Позвони samurai_xx7
*

Студент

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Что значит
переправить
? В смысле "переводить"? Или "отображать"?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Студент

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

Удалить все ключевые слова из всех статей

Автор AzMandius

Ответов: 2
Просмотров: 2059
Последний ответ 16.05.2017, 00:18:51
от AzMandius
Оповещение об успешной отправки формы

Автор DizainerGazeti

Ответов: 2
Просмотров: 1462
Последний ответ 23.11.2015, 16:35:29
от DizainerGazeti
Вылезает ошибка "Невозможно инициализировать функцию отправки почты". Как исправить?

Автор vivr

Ответов: 0
Просмотров: 1531
Последний ответ 02.04.2015, 09:21:53
от vivr
Способ отправки почты в Joomla 1.5

Автор Trampypys

Ответов: 5
Просмотров: 2966
Последний ответ 29.11.2013, 07:38:57
от Danil74
Невозможно инициализировать функцию отправки почты

Автор mvb

Ответов: 13
Просмотров: 29528
Последний ответ 12.11.2013, 05:26:30
от LolyCryu