Несколько взаимосвязанных параметров и характеристик товара



  • Добрый вечер. Хотел бы уточнить вопрос, возможности стандартными средствами shopkeeper (MIGX) сделать следующую вещь:

    Есть 1 товар с определенным артикулом, который может находиться в нескольких магазинах (реальных магазинах) и иметь разный размер, вес и цену. Т.е. в карточке товара вывести два селекта:

    1-ый селект: выбор магазина, и в зависимости от того, какой магазин выбран, выводятся возможные размеры (которые есть в этом магазине) во втором селекте, а в описании товара просто меняется его вес и цена.

    2-ой селект, который просто выводит все возможные размеры этого артикула из в всех магазинов, и в зависимости от выбранного размера выводит в первом селекте магазины в котором товар есть

    Понимаю, что можно например размер==цена||размер2==цена2||etc можно вывести через param-edit и в наборе параметров шопкипера в настройке changePrice поставит replace, но как можно увязать несколько tv.param между собой не представляю.

    Хотелось бы понять в какую сторону копать, или хотя бы на каике встроенные средства желательно обратить внимание. Прекрасно понимаю как это сделать SQL запросом, но не могу понять как это всё прибить к шопкиперу.

    В данный момент реализован рабочий магазин shopkeeper (MIGX) 1 Товар в 1 магазине, с 1 размером и с 1 описанием, 1 цена и так далее..



  • Пришлось опять вернуться к этому вопросу. Может кому пригодится, опишу как это реализовал в своём магазине.

    В общем есть магазин бижутерии, в котором есть изделия, например может быть 6 колец по одному артикулу, но с разным размером, весом и соответственно ценой, также они могут быть раскиданы по магазинам. Нужно было вывести два селекта:

    1-ый - вывод всех магазинов есть в которых есть это кольцо
    2-ой - вывод размеров, которые есть в этом магазине

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

    Товары все выгружается из 1C по ftp на сервер в *.txt, а оттуда в базу

    ......
    $db->exec("LOAD DATA LOCAL
    INFILE '/home/s/shop/new/public_html/ostatki.txt' INTO TABLE `modx_shop_content`
    COLUMNS TERMINATED BY '^'
    (shops, category, articul, material, proba, weight, size, price, oldprice2, sale, image,param1,param2);	
    ");
    ......
    

    1 строка - 1 товар
    в колонку shops выгружаются с базы просто список магазинов в которых есть этот артикул изделия

    ТЦ Центр 1||ТЦ Центр 2||ТЦ Центр 3||ТЦ Центр 4
    

    в колонку param1 выгружаются уже параметры изделий с этим же артикулом
    Магазин==Цена==Размер==Вес

    ТЦ Центр 1==12500==17==1.36||ТЦ Центр 2==13500==18==2.16||ТЦ Центр 3==14500==19==2.26||ТЦ Центр 4==15500==20==2.36
    

    В шаблоне карточки товара подключаю Chained Selects Plugin for jQuery

    <script src="js/jquery.chained.min.js"></script>
    <script type="text/javascript" charset="utf-8">
         $(".sizes").chained(".shops");
    </script>
    

    с помощью param_edit_table вывожу 1-ый необходимый селект с магазинами

    [[param_edit_table?
    &tvValue=`[[*shops]]`
    &tpl=`@CODE:
    <select class="shops">
         <option value="">Выберите магазин</option>
         [[+inner]]
    </select>
     <!--tpl_separator-->
    <option  value="[[+field1]]" name="[[+field1]]">[[+field1]]</option>
    `
    ]]
    

    И так же с помощью param_edit_table вывожу уже размеры

    [[param_edit_table?
    &tvValue=`[[*param1]]`
    &tpl=`@CODE:
    <select class="shk_param sizes" name="param1__[[*id]]" id="param1[[*id]]" onchange="SHK.additOpt(this)">
        <option value="">Выберите размер</option>
        [[+inner]]
    </select>
    <!--tpl_separator-->
    <option  value="[[+idx]]__[[+field2]]" name="[[+field1]]" class="[[+field1]]"[[+selected1]]>[[+field3]]</option>
    `
    ]]
    

    name="[[+field1]]" class="[[+field1]]" - нужны для работы плагина

    В принципе и всё. Если есть более изящные/правильные решения рад буду узнать.



Последние темы

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.