Расширение может определить его собственные типы поля формы, которые затем могут использоваться в своих собственных формах или формах, созданных другим расширением. См. Создание пользовательской формы типа поля для получения инструкций.

Типы полей всплывающей формы.

Если у вас есть поле с большим количеством значений, которые не помещаются в поле выбора, вы всегда можете сделать поле всплывающей формы, которое позволит пользователю выбрать элемент с модальной страницы с таблицей, опциями фильтрации и т.д. (как и любая таблица администратора, например. "Статьи"). См. раздел Создание всплывающего типа поля

Общие атрибуты.

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>