Автор |
Текст сообщения |
Maksim
Сообщений: 277
|
28.02.2010 11:09
Отредактировано: 28.02.2010 15:05
Здравствуйте!
Очень заинтересовала функциональность и возможности, Вашей системы. В качестве эксперимента скачал, полную версию системы и установил ее на Денвер.
Все понравилось, но никак не могу понять, как вывести несколько полей в шаблон из "дополнений". Есть дополнение: В нем создан пункт: идентификатор - color, название - цвета
Далее в пункте "Цвета" в редакторе полей создал новый пункт: название -color_in, описание - Картинка, тип - изображение.
Создал раздел: продукция на основе каталога материалов, привязал из дополнения пункт - Цвета, назвал как - Цвет, тип - множество значений из списка.
Не могу понять как сделать, чтобы можно было вывести и сам текст из дополнительных полей и изображение в шаблон если используется раздел "Дополнения"?
{if $item.fields}
<strong> Спецификации:</strong>
<table class="grid">
{section name=i loop=$item.fields}
<tr>
<td>?!?!</td> // ??? картинка из списка данных "Цвет" доп. поле - изображение ???
<td><b>{$item.fields[i].name}:</b></td> // Картинка
<td style="padding-left: 20px;">{$item.fields[i].value}</td> //
</tr>
{/section}
</table>
{/if}
|
|
admin
Сообщений: 1159
|
28.02.2010 17:11
Отредактировано: 28.02.2010 17:11
Здравствуйте,
Если я правильно понимаю ситуацию:
1. в каталоге есть доп. поле с прикрепленным списком.
2. в самом списке тоже есть доп. поле с типом картинка.
Вывод картинки тогда делается следующим образом:
{image id=$item.полекаталога.полесписка}
т.е. в вашем случае:
{image id=$item.color.color_in}
Это если тип поля в каталоге "значение из списка", для "множества" работать не будет.
Через массив $item.fields не получится, т.к. доп. поля самих списков он не содержит.
|
|
Maksim
Сообщений: 277
|
01.03.2010 17:50
Спасибо большое, для типа image помогло, но, когда добавляю "значение из списка" или "множество значений из списка", делаю вывод в шаблоне
{$item.specific.tcvet} то показываются - ID (5) или группа ID 002, 003 ... (если множество значений)
не пойму как можно вывести "описание" в документации на сайте не нашел
|
|
admin
Сообщений: 1159
|
01.03.2010 20:38
Если я правильно понимаю ситуацию:
1. в каталоге есть доп. поле с прикрепленным списком.
2. в самом списке тоже есть доп. поле с прикрепленным еще одним списком...
Вывод делаете правильно, просто для списков в списках - текстовые значения автоматически не подставляются, а остаются id. Получить текстовое значение из списка по id можно c помощью функции listitem.
{listitem list="идсписка" id=$item.specific.tcvet}
Собственно ситуация описанная очень редкая. А для каких целей нужно поле с типом "значение из списка" в самом списке? Этот тип поля обычно имеет смысл использовать, если предполагается фильтрация по полю с помощью выбора из списка, т.е. допустим в самом каталоге. А уже в списке, если и нужны дополнительные поля, то как правило достаточно обычных типов, т.е. заполнять нужные значени я сразу текстом.
|
|
Maksim
Сообщений: 277
|
01.03.2010 22:14
Отредактировано: 01.03.2010 22:19
Спасибо большое!
Все работает, правда кроме списка с множеством значений, т.е:
1. в каталоге есть доп. поле с прикрепленным списком
2. в самом списке тоже есть доп. поле с прикрепленным еще одним типом списка - множество значений из списка (значение из списка - выдает, все ОК)
Предполагалось, что данная возможность в движке будет использовать в виде: выдачи в шаблон предустановленных характеристик. Например. Есть "список строк" - дисциплины, который соединен со "списком данных" - специализация, в котором создан дополнительный "список с множеством значений" (здесь будут выбираться только определенные данные из большого количества дисциплин)
Соответственно в разделе "создается каталог материалов" куда подключается, через редактор полей "список данных" - специализация в виде значения из списка.
Но предполагалось что уже в самом шаблоне будут выводится предустановленные данные Вида:
Список дисциплин факультета Психологии
1. Введение в профессию
2. Общая психология
3. Экспериментальная психология
4. Общий психологический практикум
5. История психологии
6. Зоопсихология и сравнит. психология
7. Психогенетика
и т.п.
В последствии потом создать, для каждой дисциплины свою страницу.
Также предполагалось это использовать для вывода расписания занятий. Сами расписания планировалось импортировать через Exel
С фильтром это интересно... правда еще до конца не осознал как это можно использовать. Вообще конечно с фильтрацией данные тоже еще не все ясно
|
|
admin
Сообщений: 1159
|
02.03.2010 02:27
Да, для множества значений listitem не сработает.
Ситуация в принципе интересная, но все таки с "множеством значений" для полей внутри списков на данный момент могут быть трудности. Попробуем это лучше проработать к след. версии.
|
|
Maksim
Сообщений: 277
|
02.03.2010 08:45
Заметил, небольшой глюк, тестирую на Денвере правда, но всеравно: в дополнениях -> редактор полей -> когда меняешь со "списка значений" на "множеством значений" вылетает белый экран и ничего нет. Не проверял, как будет в "разделах". Не знаю может быть просто ошибка Денвера.
|
|
admin
Сообщений: 1159
|
02.03.2010 14:52
Спасибо, проверим.
|
|
Maksim
Сообщений: 277
|
05.03.2010 22:24
Чего-то у меня не получается с фильтрацией данных Подскажите пожалуйста по возможности на небольшом примере, как можно отфильтровать раздел с модулем "каталог материалов" с заданными полями, например, по данным из списка и введенным данным в текстовое поле используя существующие возможности движка? Где, можно прочитать по этому более подробно?
|
|
admin
Сообщений: 1159
|
06.03.2010 16:50
|
|
Maksim
Сообщений: 277
|
06.03.2010 17:57
Вот спасибо большое!
|
|
Maksim
Сообщений: 277
|
06.03.2010 20:26
Все вроде работает, хотелось бы узнать есть ли у {selectbox...} еще какие-то значения? чтобы можно было вывести необходимые пункты в <option ...>
У меня почему то в шаблоне не получается вывести созданные поля
{$item.fields[i].name}: {$item.fields[i].value} Думал, так просто вручную впишу, да не тут то было
Еще заметил, что когда выбираешь определенные значения из списка после поиска происходит сброс полей.
|
|
admin
Сообщений: 1159
|
07.03.2010 00:28
Maksim писал(а): | Все вроде работает, хотелось бы узнать есть ли у {selectbox...} еще какие-то значения? чтобы можно было вывести необходимые пункты в <option ...> |
вместо {selectbox ...} можно использовать и обычный <select> в шаблоне, соотв. и <option> формировать какие надо.
Maksim писал(а): | У меня почему то в шаблоне не получается вывести созданные поля
Думал, так просто вручную впишу, да не тут то было |
Должно быть нормально. Тут мало информации.
Maksim писал(а): | Еще заметил, что когда выбираешь определенные значения из списка после поиска происходит сброс полей. |
Чтобы не сбрасывались, нужно их заполнять в шаблоне формы из {$smarty.get.поле},
Добавил в прошлый пример сохранение выбранных значений.
http://wiki.astracms.ru/modules/catalog/filters
|
|
Maksim
Сообщений: 277
|
07.03.2010 11:32
Спасибо, теперь input не сбрасывается, только спискок сбрасывается
...
я просто думал, может получится вывести автоматом данные из полей в option, или через smarty {selectbox...}
<form action="/catalog/" method="get">
<p>Марка:</p>
<input type="text" name="mark" value="{$smarty.get.mark|escape}">
<p>Вид:</p>
<select name="type" list="types" selected="{$smarty.get.type}"/>
<option value="0">Все</option>
{section name=i loop=$item.fields}
<option value="{$item.fields[i].value}">{$item.fields[i].name}</option>
{/section}
</select>
<input type="hidden" name="filter" value="1">
<input type="submit" value="Искать">
</form>
|
|
admin
Сообщений: 1159
|
07.03.2010 16:25
1. В теге <select > нет аттрибута selected (HTML)
2. Аттрибут selected должен быть у выбранного пункта <option > (HTML)
<option value="{$item.fields[i].value}"{if $item.fields[i].value==$smarty.get.type} selected{/if}>{$item.fields[i].name}</option>
3. Зачем загонять $item.fields в селект неясно.
|
|
Вы не можете добавить сообщение. Вам необходимо авторизироваться на сайте под своим логином либо зарегистрироваться.