Вывести содержимое товара через сниппет Minishop

Пытаюсь вывести в теле страницы содежимое товара. Описанный ниже код в контенте обычной страницы ничего не выводит. Что я делаю не так? Подскажите, как это сделать.
[[msProducts?resourses=`5`&tpl=`msProduct.content`&includeContent=`1`&includeTVs=`1`]]
Алексей
16 апреля 2015, 14:00
modx.pro
7 057
-1

Комментарии: 13

Виталий Киреев
16 апреля 2015, 17:35
0
resources
    Алексей
    16 апреля 2015, 17:43
    0
    Исправил опечатку, но сниппет всё равно ничего не возвращает. Эта конструкция вообще рабочая? Если шаблон обычный (пустой)…
      Володя
      16 апреля 2015, 17:50
      0
      parents укажите 0
        Алексей
        16 апреля 2015, 18:03
        0
        [[msProducts?&parents=`0`&resources=`5`&tpl=`msProduct.content`&includeContent=`1`&includeTVs=`1`]]
        Тоже не работает. Проблема в шаблоне. Сниппет не хочет парсить плейсхолдеры шаблона просмотра товара. Без указания шаблона, товар выводится как в категории. Как указать сниппету, что нужно показать товар, а не список товаров. Может быть, в параметре class нужно что-то передать?
    Алексей
    16 апреля 2015, 20:01
    0
    Вообще ничего не понимаю. Где документация, описание параметров, пара примеров хотя бы…
    В ходе экспериментов выяснилось, что ни msOptions, ни галерея не выводятся, а на их месте пишется «This resource is not instance of msProduct class.»
    Даже если передаю имя класса msProduct… Если использовать в шаблоне стандартные поля и контент, то сниппет вообще валится и ничего не возвращает.

    Выборка элементарная, а примера нигде нет. Судя по изученным выборкам нужно джоинить какие-то дополнительные таблицы. Какие именно не ясно. Какие плейсхолдеры они дадут неясно. Может кто-нибудь пояснить мне как сделать такую элементарную вещь? Как сам minishop то выводит товар?

    Вообще реально ли вывести товар на обычной странице? Мне кажется, что msProducts использует текущий id, а не тот, который я ему передаю.
      Василий Наумкин
      16 апреля 2015, 20:16
      +1
      Вообще нет документации, даже Яндекс первой ссылкой не выводит, да? yandex.ru/yandsearch?text=msproducts. Ну тогда можно поискать в Google — там тоже первой ссылкой www.google.ru/search?q=msproducts.

      [[$msProduct.content]] предназначен для вывода на странице товара. Не для вызова в msProducts, нет.

      Для него предназначен чанк tpl.msProducts.row. Если хочется вывести товар как на его собственной странице, но через msProducts, то чанк, о ужас! нужно изменить. Ну или указать свой собственный.

      Как указать сниппету, что нужно показать товар, а не список товаров.
      msProducts выводит список товаров, что бы ты ему не указал.

      Зачем вообще выводить один товар на странице другого ресурса, если у него есть своя собственная страница? Я такой про user-case за четыре года существования miniShop2 и не слышал даже.
        Алексей
        16 апреля 2015, 20:50
        0
        Мне нужно настроить вывод сниппета для подгрузки товара в окно быстрого просмотра товара. Сниппета для вывода одного товара в пакете я не нашел, поэтому решил использовать этот.

        Что касается страницы bezumkin.ru/modx/minishop2/snippets/917/, то там только список таблиц для связи. О полях этих таблиц и доступных плейсхолдерах ничего не сказано. Вот вы говорите, что нужно изменить чанк. Но где найти список доступных плейсхолдеров?

          Василий Наумкин
          16 апреля 2015, 21:31
          +1
          Нигде не нужно искать список, да и нет его, учитывая, что можно присоединять таблицы и указывать любые поля для выборки.

          Просто укажи пустой tpl:
          [[!msProducts?
          	&parents=`0`
          	&tpl=``
          ]]
      Алексей
      16 апреля 2015, 21:26
      +1
      Разобрался. Потребовалось передать id товара внутренним сниппетам msGallery и msOptions
        Евгений
        29 июня 2016, 07:28
        0
        на всякий: передать id это так:
        [[!msGallery?product=`[[+id]]`]]
        у меня другой вопрос: вывел я на странице категории таким образом товары с дополнительными фотками, но главная фотка грузиться только для 1 товара, у остальных- лого с штрихкодом MS2. Понятно, что из дефолтового шаблона msGallery для каждого товара выводиться mainImage, а их на странице может быть только одна. Возник вопрос: как задать для вызова msGallery на странице категории другие шаблоны? Попробовал добавлять &tpl в вызов- не сработало.
        Править дефолтные шаблоны не могу- они используются на странице товара. Есть ли возможность задать кастомный шаблон для вызова msGallery в шаблоне для pdoPage (вызов ниже)
        [[!pdoPage? &element=`msProducts` &tpl=`tpl.msProductsTP.row`]]
          Евгений
          29 июня 2016, 07:40
          0
          Пардон, заглянул на страницу параметров сниппета и все вопросы отпали- можно задать свой tplOuter и tplRow
          Виталий
          09 августа 2016, 04:29
          0
          Из шаблона вызываю:
          [[!msProducts?
          &parents=`[[*id]]`
          &tpl=`tpl.msProduct.content`
          &showLog=`1`
          ]]
          В чанке есть вызов:
          [[!msGallery?product=`[[+id]]`]]
          Выводит только первую галерею, второй продукт не выводит, выполнение прекращается, на страницу выводит только кусок кода из чанка галереи. Версия Minishop 2.4
          Что исправить?
            Антон
            Антон
            13 декабря 2016, 14:16
            0
            Исправили?
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            13