Товар успешно добавлен в корзину!
Блог Кодинг Портфолио Я

Использование нескольких наборов сопутствующих товаров v.6

Кодинг HostCMS Интернет-магазин

 Использование нескольких наборов сопутствующих товаров требуется, например, для реализации такого функционала как аксессуары товара или другие модели серии. 

 Можно бесконечно изобретать и выдумывать варианты реализаций. Например меня посещала мысль о том, чтобы повторить реализацию сопутствующих товаров, скопировав таблицу, отредактировав код и формы ЦА соответствующим образом, что заняло бы приличный объем времени. Но приведенный вариант достаточно прост и не потребует много времени.  

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

 

1. Идентификация модификации. Например, самое простое по названию, или по значению сортировки.

2. Добавление в xml информации о сопутствующих товарах модификаций. А делается это достаточно просто: открываем файл /modules/shop/item/model.php и заменяем 

 

	$oModificationEntity->addEntity(
		$oShop_Items_Modification
		->showXmlComments($this->_showXmlComments)
		->showXmlAssociatedItems(FALSE)
		->showXmlModifications(FALSE)
		->showXmlSpecialprices($this->_showXmlSpecialprices)
		->showXmlTags($this->_showXmlTags)
		->showXmlWarehousesItems($this->_showXmlWarehousesItems)
		->showXmlSiteuser($this->_showXmlSiteuser)
		->showXmlProperties($this->_showXmlProperties)
	);
на
	
	$oModificationEntity->addEntity(
		$oShop_Items_Modification
		->showXmlComments($this->_showXmlComments)
		->showXmlAssociatedItems(TRUE)
		->showXmlModifications(FALSE)
		->showXmlSpecialprices($this->_showXmlSpecialprices)
		->showXmlTags($this->_showXmlTags)
		->showXmlWarehousesItems($this->_showXmlWarehousesItems)
		->showXmlSiteuser($this->_showXmlSiteuser)
		->showXmlProperties($this->_showXmlProperties)
	);

Теперь данные о сопутствующих товаров модификаций попадут в xml, осталось отредактировать xsl шаблон.

 

Минусом является лишь то, что код может быть затерт после обновления СУ.  


05.02.2013, 3749 просмотров.

Комментарии

Не плохое решение, жаль что при этом теряется возможность использовать модификации по их прямому назначению. Вот поддержал одно предложение по данной проблеме http://www.hostcms.ru/support/wishlist/B259959D-7140-A128-7A31-65B2CE661EFA/#comment2822.

Дмитрий 02.07.2013 21:27:51 ответить #

Имя
E-mail
Комментарий
Не теряется. Обход этой проблемы и имелся в виду в п. 1. Создаем модификацию, присваиваем ей номер сортировки = 1 и добавляем ей сопутствующие товары. В XSL для вывода наборов соп. товаров из модификации используем выборку для модификации с сортировкой = 1:
<!-- модификации сопутствующих товаров -->
<xsl:apply-templates select="modifications/shop_item[sorting=1]/associated/shop_item" mode="select"/>
Далее добавляем любые другие модификации с номером сортировки отличным от 1 и выводим их как хотим:
<xsl:apply-templates select="modifications/shop_item[sorting!=1]"/>

KAD 02.07.2013 21:47:15 ответить #

Имя
E-mail
Комментарий

Добавить комментарий

Имя
E-mail
Комментарий