miniShop2 - как узнать в чанке составной ли товар?

Добрый день!
Подскажите, пожалуйста, как в чанке msShortItem узнать, составной ли товар, потому что требуется вывести в списке каталога просто цену если простой товар, и со словами «Цена от » — если составной.

Такой код в чанке msShortItem не работает:
[[!msProducts? &includeThumbs=`370x297` &toPlaceholder=`compozition` &tpl=`msShortItem3` &resources=`-[[*id]]` &limit=`0` &parents=`0` &master=`[[*id]]` &link=`1` &showHidden =`1`]]
[[+compozition:notempty=`Цена от `]]

Что неправильно здесь?
Спасибо!
mFrance
26 мая 2016, 18:30
modx.pro
1 339
0

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

Владислав
27 мая 2016, 13:26
0
&leftJoin=`{
        		"Link": {
        			"class": "msProductLink",
        			"on": "msProduct.id = Link.master"
        		}
        	}`
        	
        	&select=`{
        		"Link" : "master",
        		"msProduct" : "*"
        	}`
А внутри чанка проверяй на empty [[+master:isnotempty=`Цена от`]]
    mFrance
    27 мая 2016, 14:42
    0
    Спасибо за ответ!
    Я только начинаю изучать MODX…
    А куда добавить эти параметры? В сниппете msProducts нет таких параметров.
      Владислав
      27 мая 2016, 14:58
      0
      Добавлять эти параметры в вызов сниппета msProducts. Он создает объект класса pdoFetch.
      Только наверно лучше убрать &resources=`-[[*id]]` &master=`[[*id]]` &link=`1`
    mFrance
    27 мая 2016, 15:27
    0
    Спасибо ещё раз за беспокойство!

    Такой код в чанке msShortItem:

    [[!msProducts? &includeThumbs=`370x297` &toPlaceholder=`compozition` &tpl=`msShortItem3` &limit=`0` &parents=`0` &showHidden =`1` &leftJoin=`{«Link»: {«class»: «msProductLink», «on»: «msProduct.id = Link.master»}}` &select=`{«Link»: «master», «msProduct»: "*"}`]]
    [[+master:notempty=`Цена от `]]

    почему-то заставил очень долго ждать ответа от сервера,
    и слова «Цена от» тоже почему-то не появились…
      Владислав
      27 мая 2016, 15:57
      0
      плейсхолдер [[+master]] вообще выводит какое нибудь значение без модификатора вывода?
        mFrance
        27 мая 2016, 16:11
        0
        Такой код:

        [[!msProducts? &includeThumbs=`370x297` &toPlaceholder=`compozition` &tpl=`msShortItem3` &limit=`0` &parents=`0` &showHidden =`1` &leftJoin=`{«Link»: {«class»: «msProductLink», «on»: «msProduct.id = Link.master»}}` &select=`{«Link»: «master», «msProduct»: "*"}`]]
        [[+master]]

        ничего не выводит на сайте
          Владислав
          27 мая 2016, 16:14
          0
          я че то нифига не понял, дай доступы, тут или на почту пришли что у меня в профиле
            mFrance
            27 мая 2016, 16:18
            0
            Спасибо ещё раз за помощь!
            Это не мой сайт, к сожалению, не могу дать доступы.
            Подучу мат. часть и решу попозже! :-)
              Владислав
              27 мая 2016, 16:20
              0
              да че тут решать, вызвал сниппет. в чанке msShortItem3 должен стоять плейсхолдер [[+master]]
      mFrance
      31 мая 2016, 00:13
      0
      Заработало так:
      код в чанке msShortItem:
      [[msProducts? &link=`1` &master=`[[+id]]` &parents=`0` &toPlaceholder=`modules`]]
      [[+modules:notempty=`Цена от `]]
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        10