
После того как мой производственный транс перевалил на вторые сутки я решил отдохнуть, а как учили нас авторитеты прошлого - "Лучший отдых - это смена вида деятельности...". Вот я и решил вылезти из кода и написать, что ни будь полезное, а полезное у нас сегодня "Conditional Fields". Модуль незамысловатый, но полезный. Работает в связке с CCK, а нужен он, собственно, вот зачем: он позволяет отображать или скрывать одни поля при выборе определенных значений в других. На первый взгляд путано, но на деле всё просто.
Приступим:
О необходимости и процессе установки CCK я рассказывать не буду там всё просто.
Качаем Conditional Fields и включаем его на странице admin/build/modules наряду с Content, Option Widgets (нужен нам для создания выпадающего списка, используемого в нашем примере) и Text.
Создаем новый тип материала (admin/content/types/add)
- Name:
- test material
- Type:
- test_material
остальные поля нас не интересуют в рамках этой статьи.
Переходим на страницу управления полями только что созданного нами материала (admin/content/node-type/test-material/fields) и добавляем новое поле
- Label:
- testselect
- Field name:
- field_testselect
- Type of data to store:
- text
- Form element to edit the data:
- Select list
Save
Добавляем список допустимых значений (Allowed values list)
red|Красный
green|Зеленый
blue|Синий
other|Другой
другие настройки не трогаем (для нашего примера, во всяком случае, этого не нужно)
Save
Добавляем еще одно поле
- Label:
- Custom Color
- Field name:
- field_custom_color
- Type of data to store:
- text
- Form element to edit the data:
- Text field
Опять таки, с настройками заморачиваться не будем.
Save
Заходим снова в настройки поля "Custom Color" и в разделе "Conditional fields settings" из списка допустимых значений поля testselect выбираем "Другой"
Save
Рядом с закладкой "Display fields" появилась закладка "Conditional fields", в ней доступны некоторые настройки которые вполне можно проигнорировать в рамках данной статьи, чем я и намерен заняться )), а Вам советую заглянуть и в разделе "Animation" выбрать "Slide down", а скорость анимации (Speed) оставить как есть.
Save
И, наконец, идем проверять работоспособность нашего решения. Создадим наш материал (node/add/test). В форме создания материала видим поле "testselect", но, поля "Custom Color" не видно, что бы оно появилось необходимо из выпадающего списка "testselect" выбрать пункт "Другой".
Вот собственно и всё.
- Информация к размышлению
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
