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

Здравствуйте.
У старой версии ms2GalleryResources, помнится, была возможность выводить ресурсы с несколькими изображениями галереи. Есть ли такая возможность у версии 2.0? Если нет, подскажите, пожалуйста, как иначе можно это сделать?
Svetlana S
17 мая 2017, 18:41
modx.pro
4
1 179
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