Получение полного списка полноразмерных картинок

Добрый день! У меня к вам такой вопрос, как можно получить полный список полноразмерных картинок конкретного товара?

Стандартный чанк tpl.msGallery.outer выглядит так:

<div id="msGallery">
	<a rel="fancybox" href="[[+url:default=`/assets/components/minishop2/img/web/ms2_big.png`]]" target="_blank">
		<img src="[[+360x270:default=`/assets/components/minishop2/img/web/ms2_medium.png`]]" width="360" height="270" alt="" title="" id="mainImage" />
	</a>
	<div class="row">
		[[+rows]]
	</div>
</div>
В данном случае картинка из переменной +320x270 это и есть крупная картинка, остальные мини-картинке формируются в другом чанке tpl.msGallery.row, собственно параметр [[+rows]] и говорит об этом. Не знаю особенностей MiniShop2, потому и спрашиваю, возможно ли, получить как-то массивом или списком переменных эти оригинальные картинки?
solar-wind
30 сентября 2014, 03:30
modx.pro
1
2 511
0

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

Виталий Киреев
30 сентября 2014, 11:08
0
Полноразмерная картинка это [[+url]]. В вызове галереи укажите пустой &tplOuter=`` и &tpl=`@INLINE [[+url]]` — получится чисто список ссылок.
    solar-wind
    01 октября 2014, 07:18
    0
    Спасибо за ответ, но хотел отметить, что в сниппете msGallery нету параметра &tpl. Это первое. А второе когда я делаю таким образом: [[!msGallery? &tplOuter=`` &tplRow=`@INLINE [[+url]]`]], то про просто трижды выводит адрес главной картинки… если заменяю на [[+360x270]] то выводит трижды картинку такого размера. В общем не то, я хотел. Мне нужно получить список полноразмерных картинок, одна из которых хранится в [[+url]].
      Виталий Киреев
      01 октября 2014, 07:31
      0
      Если это вызывается внутри msProducts, то возможно url перезаписывается, тогда надо чанк tplRow сделать неинлайновым. Что вообще выводится можно посмотреть, сделав пустым чанк &tplRow=`` — должен вывестись массив через print_r. По крайней мере так обычно у Василия).
        solar-wind
        01 октября 2014, 09:50
        0
        Да если делаешь пустой чанк &tplRow, то просто выводит весь массив данных какой там есть… в том числе и картинки-ссылки. Вопрос лишь в том, как дернуть из этого массива в чанке нужные поля, в моем случае [[+url]], ведь в чанке нельзя логику писать.
          Виталий Киреев
          01 октября 2014, 09:55
          +1
          Ну вот если в массиве нужные поля есть, то и делай, как я говорил, в чанке, который указан в &tplRow просто [[+url]] или какое там нужное поле увидишь среди вывода массива. Через pdoResources вызов аналогичен.
            solar-wind
            02 октября 2014, 06:40
            0
            Спасибо, сделал так: [[!msGallery? &tplOuter=`[[+rows]]` &tplRow=`[[+url]]`]] в итоге выводит полный список полноразмерных картинок. Ответ, твой помог). Лайкнул его.
    Василий Наумкин
    01 октября 2014, 08:46
    3
    +1
    [[!pdoResources?
    	&class=`msProductFile`
    	&where=`{"product_id":10, "parent":0}`
    	&sortby=`id`
    	&sortdir=`asc`
    ]]
    parent = 0 — это выборка именно большой картинки, потому что у превьюшек parent всегда не 0, а id существующей картинки. Ну а product_id понятно что — id нужного товара.

    Друзья, осваивайте уже pdoTools.
      solar-wind
      01 октября 2014, 09:27
      0
      Просто в чанке по умолчанию было использовано как раз [[!msGallery?]] для вывода картинок, вот и подумал, что можно так сделать. Все равно не до конца понял, как с помощью [[!pdoResources?]] вывести список больших картинок? parent же принимает только одно значение, соответственно вернет наверное опять одну картинку просто…
        Василий Наумкин
        01 октября 2014, 09:57
        0
        msGallery выводит готовую галерею картинок, а не как ты хочешь.

        Поэтому, нужно работать напрямую с базой данных сниппетом pdoResources. Параметр &class указывает, что мы запрашиваем не modResource (документы), а msProductFile (картинки).

        И здесь не параметр &parent (родитель документа), а условие в &where (фильтрация по колонке таблицы msProductFile).

        Если тебе все это непонятно, но хочется понять — рекомендую мой платный курс по созданию сайта в MODX, в частности уроки про pdoTools.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9