Вывести содержимое товара через сниппет Minishop
Пытаюсь вывести в теле страницы содежимое товара. Описанный ниже код в контенте обычной страницы ничего не выводит. Что я делаю не так? Подскажите, как это сделать.
[[msProducts?resourses=`5`&tpl=`msProduct.content`&includeContent=`1`&includeTVs=`1`]]
Комментарии: 13
resources
Исправил опечатку, но сниппет всё равно ничего не возвращает. Эта конструкция вообще рабочая? Если шаблон обычный (пустой)…
parents укажите 0
[[msProducts?&parents=`0`&resources=`5`&tpl=`msProduct.content`&includeContent=`1`&includeTVs=`1`]]
Тоже не работает. Проблема в шаблоне. Сниппет не хочет парсить плейсхолдеры шаблона просмотра товара. Без указания шаблона, товар выводится как в категории. Как указать сниппету, что нужно показать товар, а не список товаров. Может быть, в параметре class нужно что-то передать?
Вообще ничего не понимаю. Где документация, описание параметров, пара примеров хотя бы…
В ходе экспериментов выяснилось, что ни msOptions, ни галерея не выводятся, а на их месте пишется «This resource is not instance of msProduct class.»
Даже если передаю имя класса msProduct… Если использовать в шаблоне стандартные поля и контент, то сниппет вообще валится и ничего не возвращает.
Выборка элементарная, а примера нигде нет. Судя по изученным выборкам нужно джоинить какие-то дополнительные таблицы. Какие именно не ясно. Какие плейсхолдеры они дадут неясно. Может кто-нибудь пояснить мне как сделать такую элементарную вещь? Как сам minishop то выводит товар?
Вообще реально ли вывести товар на обычной странице? Мне кажется, что msProducts использует текущий id, а не тот, который я ему передаю.
В ходе экспериментов выяснилось, что ни msOptions, ни галерея не выводятся, а на их месте пишется «This resource is not instance of msProduct class.»
Даже если передаю имя класса msProduct… Если использовать в шаблоне стандартные поля и контент, то сниппет вообще валится и ничего не возвращает.
Выборка элементарная, а примера нигде нет. Судя по изученным выборкам нужно джоинить какие-то дополнительные таблицы. Какие именно не ясно. Какие плейсхолдеры они дадут неясно. Может кто-нибудь пояснить мне как сделать такую элементарную вещь? Как сам minishop то выводит товар?
Вообще реально ли вывести товар на обычной странице? Мне кажется, что msProducts использует текущий id, а не тот, который я ему передаю.
Вообще нет документации, даже Яндекс первой ссылкой не выводит, да? yandex.ru/yandsearch?text=msproducts. Ну тогда можно поискать в Google — там тоже первой ссылкой www.google.ru/search?q=msproducts.
[[$msProduct.content]] предназначен для вывода на странице товара. Не для вызова в msProducts, нет.
Для него предназначен чанк tpl.msProducts.row. Если хочется вывести товар как на его собственной странице, но через msProducts, то чанк, о ужас! нужно изменить. Ну или указать свой собственный.
Зачем вообще выводить один товар на странице другого ресурса, если у него есть своя собственная страница? Я такой про user-case за четыре года существования miniShop2 и не слышал даже.
[[$msProduct.content]] предназначен для вывода на странице товара. Не для вызова в msProducts, нет.
Для него предназначен чанк tpl.msProducts.row. Если хочется вывести товар как на его собственной странице, но через msProducts, то чанк, о ужас! нужно изменить. Ну или указать свой собственный.
Как указать сниппету, что нужно показать товар, а не список товаров.msProducts выводит список товаров, что бы ты ему не указал.
Зачем вообще выводить один товар на странице другого ресурса, если у него есть своя собственная страница? Я такой про user-case за четыре года существования miniShop2 и не слышал даже.
Мне нужно настроить вывод сниппета для подгрузки товара в окно быстрого просмотра товара. Сниппета для вывода одного товара в пакете я не нашел, поэтому решил использовать этот.
Что касается страницы bezumkin.ru/modx/minishop2/snippets/917/, то там только список таблиц для связи. О полях этих таблиц и доступных плейсхолдерах ничего не сказано. Вот вы говорите, что нужно изменить чанк. Но где найти список доступных плейсхолдеров?
Что касается страницы bezumkin.ru/modx/minishop2/snippets/917/, то там только список таблиц для связи. О полях этих таблиц и доступных плейсхолдерах ничего не сказано. Вот вы говорите, что нужно изменить чанк. Но где найти список доступных плейсхолдеров?
Нигде не нужно искать список, да и нет его, учитывая, что можно присоединять таблицы и указывать любые поля для выборки.
Просто укажи пустой tpl:
Просто укажи пустой tpl:
[[!msProducts?
&parents=`0`
&tpl=``
]]
Разобрался. Потребовалось передать id товара внутренним сниппетам msGallery и msOptions
на всякий: передать id это так:
Править дефолтные шаблоны не могу- они используются на странице товара. Есть ли возможность задать кастомный шаблон для вызова msGallery в шаблоне для pdoPage (вызов ниже)
[[!msGallery?product=`[[+id]]`]]
у меня другой вопрос: вывел я на странице категории таким образом товары с дополнительными фотками, но главная фотка грузиться только для 1 товара, у остальных- лого с штрихкодом MS2. Понятно, что из дефолтового шаблона msGallery для каждого товара выводиться mainImage, а их на странице может быть только одна. Возник вопрос: как задать для вызова msGallery на странице категории другие шаблоны? Попробовал добавлять &tpl в вызов- не сработало.Править дефолтные шаблоны не могу- они используются на странице товара. Есть ли возможность задать кастомный шаблон для вызова msGallery в шаблоне для pdoPage (вызов ниже)
[[!pdoPage? &element=`msProducts` &tpl=`tpl.msProductsTP.row`]]
Пардон, заглянул на страницу параметров сниппета и все вопросы отпали- можно задать свой tplOuter и tplRow
Из шаблона вызываю:
Что исправить?
[[!msProducts?
&parents=`[[*id]]`
&tpl=`tpl.msProduct.content`
&showLog=`1`
]]
В чанке есть вызов: [[!msGallery?product=`[[+id]]`]]
Выводит только первую галерею, второй продукт не выводит, выполнение прекращается, на страницу выводит только кусок кода из чанка галереи. Версия Minishop 2.4Что исправить?
Исправили?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.