Работа с опционными свойствами

Материал из Umicms
Версия от 08:28, 31 мая 2010; VITL' (обсуждение | вклад) (Новая страница: «Стоит задача добавить для объектов каталога опционные свойства, чтобы при покупке товара …»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Стоит задача добавить для объектов каталога опционные свойства, чтобы при покупке товара пользователь смог выбрать одно из этих опционных свойств и добавить товар в корзину. В модуле Шаблоны Данных, для нужного типа, допустим "Объект каталога", создается группа полей: catalog_option_props, в этой группе добавляется поле (или несколько полей) типа Составное, допустим поле Цвет. Потом заходим в редактирование одного из объектов каталога, добавляем в выпадающий список Цвет нужные значения: Красный, Черный, Синий и т.п. Далее, выбрав одно из значений в выпадающем списке Цвет и поставив справа в окне сумму, которая добавится к основной цене при добавления товара в корзину - нажимаем "+", чтобы добавить опционное свойство, аналогично поступаем с остальными опционными свойствами.

В tpl-шаблоне, в блоке view_block, который выводит подробные характеристика товара, пропишем данный макрос: %data getPropertyGroup('%id%', 'catalog_option_props', 'catalog_options')%

Пример шаблона /tpls/data/catalog_options.tpl:

<?php
$FORMS = array();


$FORMS['group'] = <<<END
<form action="%pre_lang%/emarket/basket/put/element/%id%/" method="get">
	<span>
		%lines%
	</span>
	<p>
		<input type="submit" value="Положить в корзину" />
	</p>
</form>
END;

$FORMS['group_line'] = <<<END
%prop%   
END;

$FORMS['optioned_block'] = <<<END
<strong>%title%:</strong>
<select name="options[%field_name%]" style="color:black; width:100px; height: 18px;">
	%items%
</select>
END;

$FORMS['optioned_block_empty'] = <<<END
<strong>%title%</strong> - Нет опций
END;

$FORMS['optioned_item'] = <<<END
<option value="%object-id%">
%object-name%
</option>
END;

?>