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


Товары с разными параметрами shopkeeper+migx

  • Здрасьте все.

    Возможно на старом форуме эта тема уже поднималась, но поскольку он умер...
    Так вот.
    Есть shopkeeper+migx.
    Каталог №1 с товарами - пакет shop, класс shopContent.
    Вывожу каталог №1 с товарами:

    [[!getPage?
    &element=`getProducts`  
    &limit=`12`
    &className=`shopContent`
    &packageName=`shop`
    &tpl=`product`
    ]]
    

    Есть ещё другой каталог №2 с товарами, у которых другие параметры, поэтому они в другой таблице migx с пакетом lastshop и классом lastshopContent
    Его я вывожу так:

    [[!getPage?
    &element=`getProducts`  
    &limit=`12`
    &className=`lastshopContent`
    &packageName=`lastshop`
    &tpl=`product`
    ]]
    

    Но, естественно, страницы товаров по ссылкам из этого каталога отсутствуют, поскольку в плагине shk_contextSwitch параметры prodClassName и prodPackageName соответственно ShopContent и shop.
    Полагаю, нужно создать набор параметров плагина shk_contextSwitch (допустим last) со значениями lastshopContent и lastshop и выводить каталог №2 применяя этот набор. Но как это сделать. Никак не могу додумать - не хватает опыта.
    Пробовал так:

    [[!getPage?
    &element=`getProducts`  
    &limit=`12`
    &context=`last`
    &className=`lastshopContent`
    &packageName=`lastshop`
    &tpl=`product`
    ]]
    

    но ничего не получается...

  • Нужно в шаблоне категории товаров добавить параметры:
    prodPackageName - имя пакета товаров
    prodClassName - имя класса товаров
    prodTemplateId - ID шаблона товаров

    Если две таблицы, то будет два разных шаблона категорий товаров с разными параметрами.

  • То есть категорию выводить так?

    [[!getPage?
    &element=`getProducts`  
    &limit=`12`
    &prodPackageName=`shopstab`
    &prodClassName=`shopStabContent`
    &prodTemplateId=`4`
    &className=`shopStabContent`
    &packageName=`shopstab`
    &orderby=`{"pagetitle":"DESC"}`
    &tpl=`product`
    &depth=`2`
    ]]
    

    Попробовал — не получилось. Страниц товаров так и нет.

  • Нет, не так. Параметры для шаблона категории нужно задавать в админке. "Элементы" -> Шаблон -> вкладка "Параметры".
    И при чём тут getPage? Вы же выше писали, что всё выводится, только не открывается страница товара.

  • Значит getPage не трогаю, дело не в нём?
    Оставляю вывод категории в шаблоне таким:

    [[!getPage?
    &element=`getProducts`  
    &limit=`12`
    &className=`lastshopContent`
    &packageName=`lastshop`
    &orderby=`{"pagetitle":"DESC"}`
    &tpl=`product`
    &depth=`2`
    ]]
    

    в параметрах категории задал:
    prodPackageName - lastshop
    prodClassName - lastshopContent
    prodTemplateId — 4

    но страницы с товарами так и отсутствуют, хотя пути у них верные — типа «категория/товар.html»

  • Оставляю вывод категории в шаблоне таким:

    Давайте будем выражаться более точно. Не вывод категории, а вывод товаров категории. Не параметры категории, а параметры шаблона категории.

    Правильно ли я понял, что товары у вас выводятся, но когда переходите по ссылке на страницу товара, то получаете 404?

  • @Andchir сказал Товары с разными параметрами shopkeeper+migx:

    Оставляю вывод категории в шаблоне таким:

    Давайте будем выражаться более точно. Не вывод категории, а вывод товаров категории. Не параметры категории, а параметры шаблона категории.

    Так точно

    Правильно ли я понял, что товары у вас выводятся, но когда переходите по ссылке на страницу товара, то получаете 404?

    Совершенно верно

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

  • 0_1461761907897_2016-04-27_15-56-19.png
    0_1461761958976_2016-04-27_15-59-06.png

  • Какая версия Шопкипера? У категории установлен флажок "Контейнер"?
    Покажите XML схему таблицы товаров.

  • shopkeeper3-3.2.3
    да

    	<?xml version="1.0" encoding="UTF-8"?>
    	<model package="shopstab" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1">
    	    <object class="ShopStabContent" table="shopstab_content" extends="xPDOSimpleObject">
    		<field key="resource_id" dbtype="int" precision="10" phptype="int" null="false" index="index" />
    		<field key="priceold" dbtype="float" null="true" default="" />
    		<field key="gallery" dbtype="text" null="true" default="" />
    		<field key="faze" dbtype="text" null="true" default="" />
    		<field key="power" dbtype="double" null="true" default="" />
    		<field key="voltagein" dbtype="text" null="true" default="" />
    		<field key="voltageout" dbtype="text" null="true" default="" />
    		<field key="weight" dbtype="float" null="true" default="" />
    		<field key="length" dbtype="float" null="true" default="" />
    		<field key="width" dbtype="float" null="true" default="" />
    		<field key="height" dbtype="float" null="true" default="" />
    		<field key="country" dbtype="text" null="true" default="" />
    		<field key="guarant" dbtype="text" null="true" default="" />
    		<field key="manuf" dbtype="text" null="true" default="" />
    		<field key="pagetitle" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="fulltext" indexgrp="shopstab_content_ft_idx" />
    		<field key="longtitle" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="fulltext" indexgrp="shopstab_content_ft_idx"  />
    		<field key="alias" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
    		<field key="deleted" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    		<field key="deletedon" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" />
    		<field key="deletedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    		<field key="introtext" dbtype="text" phptype="string" null="true" index="fulltext" indexgrp="shopstab_content_ft_idx" />
    		<field key="content" dbtype="mediumtext" phptype="string" null="true" index="fulltext" indexgrp="shopstab_content_ft_idx" />
    		<field key="template" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    		<field key="menuindex" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    		<field key="editedon" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" />
    		<field key="editedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    		<field key="createdon" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" />
    		<field key="createdby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    		<field key="publishedon" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" />
    		<field key="unpublishedon" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" />
    		<field key="published" dbtype="tinyint" precision="1" attributes="unsigned" phptype="boolean" null="false" default="0" index="index" />
    		<field key="publishedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    		<field key="hidemenu" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" index="index" />
    		
    		<field key="price" dbtype="float" phptype="float" null="true" default="0" />
    		<field key="image" dbtype="varchar" precision="255" null="true" default="" />
    		<field key="inventory" dbtype="varchar" precision="255" phptype="string" null="false" default="" />
    		<field key="articul" dbtype="varchar" precision="255" phptype="string" null="false" default="" />
    		<field key="param1" dbtype="varchar" precision="255" phptype="string" null="false" default="" />
    		
    		<index alias="resource_id" name="resource_id" primary="false" unique="false" type="BTREE">
    	            <column key="resource_id" length="" collation="A" null="true" />
    	        </index>
    		<index alias="alias" name="alias" primary="false" unique="false" type="BTREE">
    	            <column key="alias" length="" collation="A" null="true" />
    	        </index>
    	        <index alias="published" name="published" primary="false" unique="false" type="BTREE">
    	            <column key="published" length="" collation="A" null="false" />
    	        </index>
    		<index alias="hidemenu" name="hidemenu" primary="false" unique="false" type="BTREE">
    	            <column key="hidemenu" length="" collation="A" null="false" />
    	        </index>
    		
    		<index alias="shopstab_content_ft_idx" name="shopstab_content_ft_idx" primary="false" unique="false" type="FULLTEXT">
    	            <column key="pagetitle" length="" collation="A" null="false" />
    	            <column key="longtitle" length="" collation="A" null="false" />
    	            <column key="introtext" length="" collation="A" null="true" />
    	            <column key="content" length="" collation="A" null="true" />
    	        </index>
    		
    	    </object>
    	</model>
  • Проверьте в БД чтобы у товаров было
    published = 1
    deleted = 0

  • @Andchir сказал Товары с разными параметрами shopkeeper+migx:

    Проверьте в БД чтобы у товаров было
    published = 1
    deleted = 0

    published = 1 deleted = 0

    если это немного приблизит решение, то мне удавалось выводить страницы товаров, когда в плагине shk_contextSwitch я задавал параметры prodClassName=ShopStabContent и prodPackageName=shopstab
    Но при этом, естественно, пропадали страницы товаров пакета shop

    И вот ещё какая особенность.
    Сейчас попробовал опять поменять параметры плагина shk_contextSwitch, чтобы вывести страницы товаров пакета shopstab. Результат - отрицательный. Удалил параметры prodPackageName, prodClassName, prodTemplateId шаблона категории и страницы товаров пакета shopstab появились, ну а товаров пакета shop само собой пропали.

  • Можете скинуть мне в чатик доступы в админку, я посмотрю. Думаю так было бы быстрее.

  • скинул в чат

  • В параметре шаблона "prodClassName" почему-то у вас стояло "shopStabContent" а в MIGX (в XML данном выше тоже видно) это название - ShopStabContent (с большой буквы).

  • Большое спасибо

  • Существует такая же задача.
    Все прописываю в шаблонах, но получаю 404
    Скажите, а в плагине что нужно оставить? или пустые поля?

 

Последние комментарии

  • Что нового в Shopkeeper 4.0.3:

    Исправлено некорректное определение языка по умолчанию В настройках в админке скрываются пароли. Добавлена возможность загружать картинки для категорий. shopkeeper.js - добавлена функция updateProductsPrice() для поддержки текстовых полей для цены. Twig-функции contentList() и includeContent() вынесены в отдельный класс. Добавлено событие "order.before_create". Сортировка всех полей типа контента перетаскиванием. Автоматическое сохранение сортировки полей при сохранении типа контента (не нужно нажимать на отдельную кнопку). В интерфейсе админа добавлено поле поиска для списка Composer-пакетов.

    Скачать можно на главной странице https://modx-shopkeeper.ru/

    Читать далее
  • Вот этот плагин:
    0_1550334109280_screenshot_022.png

    Вроде по умолчанию он выключен. Надо включить. Но плагин работает только на редактирование товаров, при удалении он делалать ничего не будет. Только что проверил кнопку, всё работает корректно, фильтры удаляются и добавляются, когда нужно. Но нужно очищать корзину после удаления товаров (возможно баг).

    Читать далее
  • J

    @Andchir Если нажимаю кнопочку "Обновить значения", то в фильтрах появляются как раз те самые удаленные значения фильтра.. Потом приходится Ручками выбирать эти удаленные значения.
    вот так выглядит Управление фильтрами когда удаляешь ручками: https://yadi.sk/i/_zw64CGkZ_sAYg
    А вот так выглядит когда просто нажимаешь "Обновить значения": https://yadi.sk/i/7WFbXC6xV5sQAw (красным выделено, то что приходится постоянно удалять

    Читать далее
  • J

    Участник @Jokerit написал в TagManager2 отображает в фильтре удаленные значения TV-полей:

    tmRefresh

    Так и не смог найти как включить

    Читать далее