![]() |
![]() |
#5 |
Регистрация: 08.05.2008
Адрес: Молдова/ПМР, Тирасполь
Сообщений: 3,554
Вы сказали Спасибо: 95
Поблагодарили 137 раз(а) в 124 сообщениях
Репутация: 1596
|
![]() 4. Создание шаблонов для отображения списков
Один и тот же список можно отображать с помощью разных шаблонов: 1. как выпадающий список (<SELECT>) 2. как список с множественным выбором (<SELECT multi>) 3. как набор флажков/чекбоксов (<INPUT TYPE=CHECKBOX>) 4. как набор радио-кнопок (<INPUT TYPE=RADIO>) Для каждого типа отображения списка можно создать любое число шаблонов. То есть, например, список комплектации автомобиля (ABS, MP3 магнитола, Гидроусилитель…) можно отобразить как список с множественным выбором или как набор чекбоксов, причем для разных рубрик с разным стилем оформления. Шаблоны для отображения списков должны находиться в директории: \modules\qplboard\templates\custom\user\list\ - для отображения пользователю \modules\qplboard\templates\custom\admin\list\ - для отображения администратору Для всех четырех типов списков нужно создать набор шаблонов по 8 в каждом (2 для администратора и 6 для пользователя): 1. Шаблон для отображения списка при подаче объявления (_edit.tpl) 2. Шаблон для отображения списка при поиске объявлений (_search.tpl) 3. Шаблон для отображения списка при выводе объявления (_pr.tpl) 4. Шаблон для отображения списка при выводе последних объявлений во всплывающем окне на стартовой странице (_nf.tpl) 5. Шаблон для отображения списка при выводе VIP объявлений во всплывающем окне на стартовой странице (_sf.tpl) 6. Шаблон для отображения списка при выводе объявления в таблице с результатами поиска (_f.tpl) Названия шаблонов (для пользователя и для администратора имена файлов совпадают): check_edit.tpl check_pr.tpl check_search.tpl check_nf.tpl check_sf.tpl check_f.tpl multiselect_edit.tpl multiselect_pr.tpl multiselect_search.tpl multiselect_nf.tpl multiselect_sf.tpl multiselect_f.tpl radio_edit.tpl radio_pr.tpl radio_search.tpl radio_nf.tpl radio_sf.tpl radio_f.tpl select_edit.tpl select_pr.tpl select_search.tpl select_nf.tpl select_sf.tpl select_f.tpl Имя файла шаблона состоит из двух частей. Первая – тип списка, вторая – место использования. Префикс (тип списка): check – тип “чекбокс/флажок” multiselect – тип “список с множественным выбором” radio – тип “радио-кнопка” select – тип “выпадающий список” Формат файла шаблона списка Каждый файл шаблона списка состоит из трех секций: 1. Шаблон таблицы 2. Шаблон столбца 3. Шаблон элемента 4. Разделитель элементов списка Четыре секции разделены между собой последовательностью ################################################## ################### Пример шаблона для чекбоксов (флажков) check_edit.tpl: <table cellspacing=0 cellpadding=0 border=0 width=”100%”> <tr valign=top><# CONTENT #></tr> </table> ################################################## ################### <td width=33%><# COL #></td> ################################################## ################### <input type=checkbox name="<# FORM_NAME #>_<# ID #>" <# CHECKED #> > <# NAME #> ################################################## ################### <br> ################################################## ################### Рассмотрим каждую секцию детально. Секция “разделитель элементов списка” <br> При отображении чекбоксов они будут разделяться переводом строки. Как альтернатива, их можно, например, разделять пробелом или тегом <hr> Секция “шаблон элемента” <input type=checkbox name="<# FORM_NAME #>_<# ID #>" <# CHECKED #> > <# NAME #> Для чекбокса каждый элемент будет сформирован как <INPUT TYPE=CHECKBOX>. name="<# FORM_NAME #>_<# ID #>" Имя чекбокса будет сформировано автоматически доской и состоять из имени формы и идентификатора элемента списка. То есть будет для каждого – уникальным. С помощью мета-тега <# CHECKED #> доска может управлять статусом чекбокса (отмечен/не отмечен). <# NAME #> заменяется на имя элемента списка. Таким образом в данном примере генерируются все элементы списка в виде чекбоксов и между ними вставляется разделитель <br> для каждого столбца. Секция “шаблон столбца” <td width=33%><# COL #></td> Каждый столбец – это ячейка таблицы. В данном примере элементы списка отображаются по горизонтали в несколько столбцов (кол-во будет определяться параметром COLNUM, см. выше). Для того, чтобы столбцы стали строками измените шаблон выше на этот: <table cellspacing=0 cellpadding=0 border=0 width=”100%”> <# CONTENT #> </table> ################################################## ################### <tr><td width=33%><# COL #></td></tr> ################################################## ################### <input type=checkbox name="<# FORM_NAME #>_<# ID #>" <# CHECKED #> > <# NAME #> ################################################## ################### <br> ################################################## ################### Секция “шаблон таблицы” <table cellspacing=0 cellpadding=0 border=0 width=”100%”> <tr valign=top><# CONTENT #></tr> </table> Алгоритм построения списка следующий: 1. Из базы данных выбираются все элементы указанного списка 2. Определяется кол-во элементов в столце путем деления общего кол-ва элементов списка на указанное кол-во столбцов 3. Для каждого столбца склеиваются элементы с разделителем 4. Полученный код вставляется в шаблон таблицы Для формирования выпадающего списка <SELECT> и списка с множественным выбором <SELECT multi> кол-во столбцов равно 1. Шаблон будет выглядеть проще: <select name="<# FORM_NAME #>"> <# CONTENT #></select> ################################################## ################### <# COL #> ################################################## ################### <option value="<# ID #>" <# SELECTED #>><# NAME #></option> ################################################## ################### ################################################## ################### Как вы можете заметить, здесь нет разделителя, так как для склейки тегов <OPTION …> разделитель не нужен. Также проще стал и шаблон столбцов, так как их всего один. Таблицы в данном случае нет. Примеры для всех типов списков вы можете посмотреть в комплекте шаблонов, поставляющихся с доской.
__________________
Недорогой хостинг! forum-seo.net/showthread.php?p=10754 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 30 сообщение(ий). Сейчас у Вас 0 сообщение(ий). |
![]() |
![]() |
Этот пользователь сказал Спасибо Seo-man за это полезное сообщение: | Leon (04.11.2012) |