Как получить список значений справочника у товара

Материал из Umicms

Перейти к: навигация, поиск

Как получить список значений справочника у товара?

Допустим, нам надо в каталоге задать выбор цвета хомячка - в виде выпадающего списка. При этом список цветов должен редактироваться в админ-панели.

1. В модуле "Шаблоны данных" -> Раздел сайта -> Объект каталога -> Хомячки добавляем новое поле "cvet" типа "Выпадающий список со множественным выбором"

2. В папке ~tpls/data/ создаем шаблон cvet.tpl со следующим содержанием:

<?php 
$FORMS = Array(); 
$FORMS['relation_mul_block'] = <<<END
<select>% items%</select> 
END;
 
$FORMS['relation_mul_item'] = <<<END
<option>% value%</option>
END;
?>


3. В шаблоне вывода товаров каталога (по умолчанию это ~tpls/catalog/preview.tpl) в блок ['view_block'] вставляем макрос

% data getProperty(% id%, 'cvet', 'cvet')%


Теперь в настройках каждого хомячка мы можем добавить различные цвета и выборочно назначить те цвета, что есть на складе.

________________________________________________________________________________________________________________

Posted by Maestro.KZ


Дело обстоит иначе, если работа идет через XSLT-шаблон: итак

Вставить в то место, где должен вывалиться селект

<select type="text" name="sex">
<option value="">..Выберите размер..</option>
<xsl:apply-templates select="/result/page/properties/group/property[@name = 'razmer']/value/item" mode="catalog_search_selection">
	<xsl:with-param name="test_par" select="$sex" />
</xsl:apply-templates>

Вставить после любого закрытого xsl:template

<!--TEMPLATE FOR SELECT--><xsl:template match="item" mode="catalog_search_selection">
					<xsl:param name="test_par" />
					<option value="{@id}">
						<xsl:if test="$test_par = @id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if>
						<xsl:value-of select="@name" />
					</option>
				</xsl:template>

можно причесать под маркированный список. Осталось привязать это дело к корзине, чтоб пользователь покупал ботинки нужного размера. Чем и занимаюсь теперь С ув, Maestro.KZ

Личные инструменты