|
|
05.05.2014, 16:08
|
|
Гость
Гость
|
Есть список. При добавлении объекта выбирается с каким пунктом или пунктами списка он соотносится.
На самом сайте этот список выводился в форме для фильтрации в виде выпадающего списка (тег select).
Теперь потребовалось, чтобы в форме для фильтрации этот список выводился списком (тег ul), причем к каждому пункту должна быть прикреплена соответствующая картинка.
Есть ли способы реализовать подобное?
|
|
|
05.05.2014, 16:13
|
|
Pavel
Зарегистрирован: 2007-10-20
Сообщений: 55
|
под гостем написал я
была идея использовать подкатегории и дополнительное поле с изображением, но тогда я не знаю как привязать добавленный объект к этой категории. При варианте, что связь один объект - одна категории, можно было бы добавлять их в соответствующую категорию, но часто объект может соотносится с двумя и более категориями.
|
|
|
06.05.2014, 14:28
|
|
Pavel
Зарегистрирован: 2007-10-20
Сообщений: 55
|
воспользовался советом из темы http://www.netcat.ru/support/forum/razrabotka-sayta/topic_13583.html
Застрял на создании альтернативной форме. с select работает хотя бы на добавление, а с checkbox не работает даже на добавление.
код:
Код:".listQuery("select distinct Product_Name as name, Message_ID as id from Message34","<input type='checkbox' value='\$data[id]' id='f_Product[\$i]' name='f_Product[\$i]'>
<label for='f_Product[\$i]'></label>
\$data[name]
<br>")."
|
|
|
06.05.2014, 16:12
|
|
Pavel
Зарегистрирован: 2007-10-20
Сообщений: 55
|
Цитата:воспользовался советом из темы http://www.netcat.ru/support/forum/razrabotka-sayta/topic_13583.html
Застрял на создании альтернативной форме. с select работает хотя бы на добавление, а с checkbox не работает даже на добавление.
Сделал тип поля не текстовым, а "множественный выбор" данные стали заносится в базу данных. Но не получается проставить checked для выбранных элементов в альтернативной форме для изменения
|
|
|
07.05.2014, 11:27
|
|
Pavel
Зарегистрирован: 2007-10-20
Сообщений: 55
|
Код:".listQuery("select distinct Product_Name as name, Message_ID as id from Message34","<input type='checkbox' value='\$data[id]' id='f_Product[\$i]' name='f_Product[\$i]' ".opt(in_array($data[id], explode(',',$f_Product)), 'checked').">
<label for='f_Product[\$i]'></label>\$data[name]
<br>")."
почему в данном коде in_array($data[id], explode(',',$f_Product)) всегда истина, хотя 100% $data[id] в массиве нет
|
|
|
10.05.2014, 01:30
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Вам немного подправить надо:
Код:".listQuery("select distinct Product_Name as name, Message_ID as id from Message34","<input type='checkbox' value='\$data[id]' id='f_Product[\$i]' name='f_Product[]' \".opt(in_array(\$data[id], explode(',',\$f_Product_id)), 'checked').\">
<label for='f_Product[\$i]'></label>\$data[name]
<br>")."
А вообще для чекбоксов лучше использовать функцию nc_list_select, там и выбранные элементы можно передавать, и шаблон вывода свой задать. Правда если вам надо в итоге <UL> получить, то надо, конечно, использовать listQuery.
Если вышеуказанный пример не заработает, тогда попробуйте \$f_Product_id исправить на \$GLOBALS['f_Product_id'] - часто помогает.
|
|
|
12.05.2014, 12:58
|
|
Pavel
Зарегистрирован: 2007-10-20
Сообщений: 55
|
Цитата:Вам немного подправить надо:
Если вышеуказанный пример не заработает, тогда попробуйте $f_Product_id исправить на $GLOBALS['f_Product_id'] - часто помогает.
Помогло! Спасибо
Цитата:
А вообще для чекбоксов лучше использовать функцию nc_list_select, там и выбранные элементы можно передавать, и шаблон вывода свой задать. Правда если вам надо в итоге <UL> получить, то надо, конечно, использовать listQuery.
у меня было сделано через nc_list_select и список, но я не знаю, как к элементам этого списка на странице для пользователей привязать картинки
|
|
|
24.05.2014, 19:39
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Можно в шаблоне элемента списка в функции nc_list_select задать:
<li class='myitem-\$value_id'>\$value_name</li>
а потом в CSS'ке прописать background для всех нужных вам классов myitem-NNN.
Но это удобно только в том случае, если картинки вы сами один раз загрузите и пользователю не понадобится их менять. Ведь обычному пользователю будет сложно через файл-менеджер редактировать CSS-файл всякий раз.
Если такая необходимость есть, тогда все-таки надо listquery использовать.
|