Вывод нескольких превью у ресурсов

Здравствуйте.
У старой версии ms2GalleryResources, помнится, была возможность выводить ресурсы с несколькими изображениями галереи. Есть ли такая возможность у версии 2.0? Если нет, подскажите, пожалуйста, как иначе можно это сделать?
Svetlana S
17 мая 2017, 18:41
modx.pro
3
996
0

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

Stanislavsky
18 июня 2017, 22:22
0
Нашли решение? Просто тоже интересует вопрос.
    Svetlana S
    20 июня 2017, 14:37
    0
    По-видимому, копать нужно отсюда bezumkin.ru/training/course2/3006/ Раньше у описания msGallery на modstore, кажется, был нужный пример вывода через pdoResources. Но его я не помню) Пока отложила для себя эту проблему до тех времен, когда получше разберусь с API
Василий Наумкин
20 июня 2017, 14:42
0
Никогда ms2GalleryResources не выводил больше одной картинки. Чтобы это понять, достаточно просто прочитать его описание.
Сниппет для вывода ресурсов через pdoResources с присоединением первой картинки из галереи ресурса.

Для вывода нескольких изображений можно просто вызывать ms2Gallery в чанке pdoResources с нужным оформлением, лимитом и id ресурса.
    Svetlana S
    20 июня 2017, 14:51
    0
    Я думала, есть способ обойтись без вложенных вызовов) Спасибо за ответ)
      Василий Наумкин
      20 июня 2017, 14:52
      +1
      Есть вариант с несколькими join, но вложенные сниппеты проще.
        Svetlana S
        20 июня 2017, 15:02
        0
        Если у Вас есть время… Может, напишете пример? Для всех, кому, как и мне, интересно знать такие вещи?)
          Василий Наумкин
          20 июня 2017, 15:05
          +1
          Я уже тысячи примеров написал, на один из них есть даже ссылка в комментарии выше.

          Так что предлагаю поднапрячься самостоятельно.
            Svetlana S
            20 июня 2017, 15:11
            0
            Извините. Самостоятельно — это само собой)
Николай Савин
20 июня 2017, 15:11
+1
Я делаю так:
Классический формат
[[msProducts?
                      &showLog=`1`
                      &tpl=``
                      &resources=`18`
                      &leftJoin=`{
                        "Image_1": {
                            "class": "msProductFile",
                            "alias" : "Image_1",
                            "on": "Image_1.product_id = msProduct.id  AND Image_1.rank = 1 AND path LIKE '%/small/%'"
                        },
                        "Image_2": {
                            "class": "msProductFile",
                            "alias" : "Image_2",
                            "on": "Image_2.product_id = msProduct.id  AND Image_2.parent = 0 AND Image_2.rank = 2"
                        },
                        "Image_3": {
                            "class": "msProductFile",
                            "alias" : "Image_3",
                            "on": "Image_3.product_id = msProduct.id  AND Image_3.parent = 0 AND Image_3.rank = 3"
                        }
                    }`

                     &select=`{
                        "Image_1": "Image_1.url as Image_1",
                        "Image_2": "Image_2.url as Image_2",
                        "Image_3": "Image_3.url as Image_3"
                    }`

                    &groupby=`
                    {
                        "Image_1": "Image_1.url",
                        "Image_2": "Image_2.url",
                        "Image_3": "Image_3.url"
                    }
                    `
                  ]]
fenom
{'!msProducts' | snippet: [
                                'limit' => 6,
                                'tpl' => 'tpl.catalog.line.front',
                                'includeThumbs' => '300x300',
                                'includeTVs' => 'short_intro',
                                'parents' => 23,
                                'where' => '{"Data.favorite" : 1}',
                                'leftJoin' => [
                                  "300x300_2" => [
                                    "class" => "msProductFile",
                                    "alias" => "300x300_2",
                                    "on" => "300x300_2.product_id = msProduct.id  AND 300x300_2.rank = 1 AND 300x300_2.path LIKE '%/300x300/%'"
                                  ],
                                  "300x300_3" => [
                                    "class" => "msProductFile",
                                    "alias" => "300x300_3",
                                    "on" => "300x300_3.product_id = msProduct.id  AND 300x300_3.rank = 2 AND 300x300_3.path LIKE '%/300x300/%'"
                                  ]
                                ],
                                       'select' => ["300x300_2" => "300x300_2.url as 300x300_2", "300x300_3" => "300x300_3.url as 300x300_3"],
                               'groupby' => ["300x300_2" => "300x300_2.url", "300x300_3" => "300x300_3.url"],
                                ]}

Это готовые рабочие примеры, взятые прямо с проектов, вам конечно нужно их немного под себя переписать, но надеюсь логика понятна. Для каждой дополнительной картинки прописываете свой left join, select, groupby
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
10