Select Dynamic

Select Dynamic
Поля Seblod
Select
Standart
Free

Поле Select Dynamic - список значений, данные запросом к таблице базы данных, единичный или множественный выбор.

Содержимое поля типа Select Dynamic формируется запросом к базе данных в отличии от других полей этого типа  от других полей типа select, описанных в статье «Стандартные поля SEBLOD: Simple, Multiple, Numeric – простые списки», массив его данных формируется запросом к базе данных.

В админке поле типа Dynamic выглядит как поле <select> - простой выпадающий список, из которого администратор сайта выбирает полученные данные из базы для вставки в материал.

На сайте поле типа Dynamic выводится в двух вариантах. На странице материала (товара) как обычная строка данных. В форме обратной связи или форме поиска – поле выпадающий список, как в админке, с той разницей, что вид поля зависит от настроек CSS.

Так же поля типа Dynamic могут и не выводится на стороне сайта, так как, наряду с другими полями типа select, checkbox или radio, могут использоваться как поля - критерии для вывода (сокрытия) других полей.

Основная «магия» для использования полей типа Dynamic происходит при их создании (настройке). Как и для других полей для поля типа Dynamic есть возможность создания подписи (label) и значения по-умолчанию. Здесь же происходит наполнение поля.

Заполнение поля данными производится запросом к БД. Подходов к наполнению поля, а значит формированию запроса к БД, может быть два – использование полей ввода (режим Construction) и непосредственная запись запроса (режим Free).

В режиме Construction – все данные формирующие запрос к БД заносятся в созданные разработчиком Seblod поля. Поле «Table» предназначено для внесения имени таблицы БД.

Поле Dynamic позволяет обратится к любой таблице БД сайта, как к стандартной для Joomla (#__categoties, #__content и т.д.), так и к любой созданной разработчиком сайта, например, к таблице со списком стран.

В поле «Options Name» вносится имя поля таблицы БД, значение из которого будет выводится на сайте, например, поле наименование страны таблицы Страны. В поле «Options Value» вносится имя поля БД, значение из которого будет записываться в качестве значения поля Dynamic в базу (если хранение данных поля в БД настроено), например, ID таблицы Страны. Таким образом для строки поля Select Dynamic формируется пара «Текст = Значение (Text = Value)».

Это обязательные для работы поля Dynamic поля. Также можно заполнить данными поля «Where» для детализации запроса к таблице с большим числом записей, и поле «Order By» для сортировки результата запроса.

Поле Select Dynamic позволяет сделать мультивыбор значений. Для этого выбираем Yes в поле «Multiple» и назначаем разделитель для выбранных значений.

На мультиязычных сайтах поле Select Dynamic обеспечивает возможность формирования пар Text (RU, EN, DE...) => Value, где в качестве Text выступает отдельное поле таблицы БД.

В режиме Free – необходимо самостоятельно сформировать запрос к БД и записать его в поле «SQL Query».

На страницах сайта на CMS Joomla нет примеров полей, созданных на Select Dynamic. Пользовательские – любые поля списков выбора, данные которых хранятся в БД. Обычно с помощью этого поля делается выборка Категорий для разделов Статей отдельных типов контента, если они на одном уровне (без вложенности).

Для вывода многоуровневого списка категорий существуют поле, созданное в сообществе CCK Seblod и не входящие в стандартный пакет.

В каталоге товаров при помощи поля типа Dynamic можно создавать множество полей - списков выбора данных. Например – выбор страны, производителя, цвета и т.д., особенно для мультиязычных сайтов.

Раитин Станислав
Поля Seblod