Пользовательские типы поля формы
Расширение может определить его собственные типы поля формы, которые затем могут использоваться в своих собственных формах или формах, созданных другим расширением. См. Создание пользовательской формы типа поля для получения инструкций.
Типы полей всплывающей формы.
Если у вас есть поле с большим количеством значений, которые не помещаются в поле выбора, вы всегда можете сделать поле всплывающей формы, которое позволит пользователю выбрать элемент с модальной страницы с таблицей, опциями фильтрации и т.д. (как и любая таблица администратора, например. "Статьи"). См. раздел Создание всплывающего типа поля
Общие атрибуты.
Labelclass
Добавление атрибута labelclass
добавляет CSS-класс для тега label.поля формы. Источник: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=28450
Showon
Добавление атрибута showon
позволяет скрыть поле на основе значений другого поля.
Синтаксис для отображения поля bar только в том случае, если foo имеет значение "1" , а baz установлено в "1":
<field name="foo" type="list" > <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="bar" type="text" showon="foo:1" />
Для сопоставления нескольких значений можно предоставить список значений, разделенный запятой. Как showon="foo:1,2"
Для объединения нескольких полей можно использовать [AND]
. Например, showon="foo:1[AND]bar:1"
Синтаксис для отображения поля "bar" только в том случае, если для "foo" установлено значение "1" , а для "baz" установлено значение "1":
<field name="foo" type="list" > <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="baz" type="list" > <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="bar" type="text" showon="foo:1[AND]baz:1" />
Для создания выбора между несколькими полями можно использовать [OR]. Например, showon="foo:1[OR]bar:1".
Синтаксис для отображения поля "bar" только когда, для "foo" установлено значение "1" или "baz" установлено значение "1":
<field name="foo" type="list" > <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="baz" type="list" > <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="bar" type="text" showon="foo:1[OR]baz:1" />
Вы также можете использовать значение, "не равно", как showon="field1!:1".
Синтаксис для отображения поля "bar" только тогда, когда "foo" не равно "1":
<field name="foo" type="list" > <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="baz" type="list" showon="foo!:1" > <option value="1">JYES</option> <option value="0">JNO</option> </field>
Чтобы отобразить поле, когда выбрано другое поле (например, foo) (чтобы это другое поле не было пустым), вы можете использовать showon="foo!:" (так без указанного значения).
Это было представлено с PullRequest: https://github.com/joomla/joomla-cms/pull/3379, доступно, начиная с Joomla 3.2.4.
Устранение неполадок: атрибуты не работают.
Если вы прочитали более старую версию нашей документации для разработчиков или взяли код отображения формы из существующего расширения, возможно, у вас возникли проблемы с такими атрибутами, как showon
, которые вообще не работают. Чтобы некоторые специальные атрибуты функционировали, поля должны отображаться с помощью метода renderField()
. Например:
<div class="row-fluid"> <div class="span6"> <?php foreach($this->form->getFieldset() as $field) { echo $field->renderField(); } ?> </div> </div>