Функционал магазина

#
Функционал магазина
Есть задание от заказчика. и есть одна загвоздка, на данном этапе не могу понять потянет такой функционал хостцмс или нет.

товар шины.

нужно сделать отбор шин по маркам и моделям машины,
то есть некий фильтр, который поможет пользователю подобрать для своего автомобиля шины (но при этом пользователь в шинах полный ноль),
как реализовать привязку к товару множественной связкой -> модель -> марка ( toyota -> camry)
учитывая тот факт, что шина то подходит и к другим маркам, которые должны тоже подвязаны к товару. (в итоге одиночное поле со списком как дополнительное свойство не подходит, так как даст только одну пару связки).
ко всему прочему основной каталог все таки заказчик хочет оставить по производителям шин.

как это написать с нуля, соображение есть.
хотелось бы построить все это на основе хостцмс, а не писать все с нуля.
возможно ли это?

думаю что такой функционал оценять многие разработчики сайтов, так как с помощью такого инструмента возможности магазина возрастают в несколько раз. (пример функционала у Вас есть - когда выбираеш поставку товара в какой то город.)
Модератор
#
Re: Функционал магазина
viptech писал(а):
как реализовать привязку к товару множественной связкой -> модель -> марка (toyota -> camry)

Может быть машины - группы первого уровня, модели - второго, а сами шины - ярлыки на товары из каталога по производителю внутри групп.
#
Re: Функционал магазина
как вариант можно, но тогда вопрос возникает как группы и подгруппы добавить в фильтр,
так как помимо модели и марки еще есть выбор сезонности (доп поле в товаре и класс шин)
Модератор
#
Re: Функционал магазина
viptech,
Ну здесь придется немного потрудиться с типовой и XSL-шаблоном
#
Re: Функционал магазина
ок понял
Модератор
#
Re: Функционал магазина
viptech,
#
Re: Функционал магазина
Появился первый вопрос

пока сделал динамическую страницу, где в список (поле со списком select) выводятс категории товаров корневого уровня, при выборе товара, проверяю что получили и вывожу выбранную категорию товара.
с этой частью проблем нет

теперь мне нужно второе поле которое б динамичски (желательно без перезагрузки страницы через аякс) в зависимости от выбраной категории в 1 поле,подгружало подкатегории выбраного поля 1, вот здесь пока и застрял
1) xsl не хочет мне выдавать второй уровень ни в какую,
2) как это 2 поле заставить динамически обновлятся в зависимости от изминения первго (через яваскрипт я ловлю айди выбранной групы, но что мне с ним делать.


вот код второго поля xsl шаблон

удалил так как нашел ошибки сам


пока правда тестовый но все же
#
Re: Функционал магазина
второе поле тоже вывел

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <xsl:template match="/">
      <xsl:apply-templates select="/shop"/>
   </xsl:template>
   
   <!-- Шаблон для магазина -->
   <xsl:template match="/shop">
      <!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
      <xsl:variable name="parent_group_id" select="589"/>
      
      <xsl:variable name="count">1</xsl:variable>
      
      <!-- Отображение подгрупп данной группы, только если подгруппы есть и не идет фильтра по меткам -->
      <xsl:if test="count(selected_tags/tag) = 0 and count(//group[@parent=$parent_group_id]) &gt; 0">
                                           <select name="model" onChange="dataSelect(this)">
            <option value="0">...</option>
            <xsl:apply-templates select="//group[@parent=$parent_group_id]"/>
                                           </select>
      </xsl:if>
   </xsl:template>
   
   <!-- Шаблон для групп товара -->
   <xsl:template match="group">
                               <option>
                                              <xsl:value-of disable-output-escaping="yes" select="name"/>
</option>
   </xsl:template>

</xsl:stylesheet>


но вот как ему скормить parent_group_id выбраной категории пока не допер.
#
Re: Функционал магазина
просмотрел похожую функциональность выбор города в  корзине, но застопорился на функции onchange="doSetCity(this.options[this.selectedIndex].value, '{/locations/shop/path}cart/'"  видимо она и подгружает динамически города в зависимости от выбора но как понял она написана сугубо для данного функционала и в других местах не применима
#
Re: Функционал магазина
HostCMS писал(а):
Может быть машины — группы первого уровня, модели — второго, а сами шины — ярлыки на товары из каталога по производителю внутри групп

и еще один вопросик,

поскольку каталоги находятся все в пределах одного магазина, групы отбирать я так понял надо по какому то признаку (доп свойству), что каталог шин, а что каталог машин, но вопрос стал с ярлыками,  по каталогу машин будут вибираться верно покольку будет только отображаться содержимое подкаталога марки, а вот как будет производится поиск по типоразмеру (допсвойства в товаре), ярлыки ведь будут дублироваться в поиске или нет? и как решить этот вопрос.
Авторизация