Вызов msGallery из чанка феном разметкой Решено


Код чанка в котором я пытаюсь сделать вывод url картинки из галереи товара



А это результат



Вроде нет айди, а как же тогда правильно сделать.

Это не феном это геморрой какой то.

Зачем я выбрал модыкс? чтобы не юзать пхп, а пользоваться этим замечательным парсером. Но потом придумали феном и испортили всю красоту в чанках кодом PHP

Т.е. раньше изучал php потом встретил modx изучал его синтаксис, а теперь встроили феном и вернулись к php только в синтаксисе который опять учить. Нафигааа?
10 сентября 2016, 15:43    Konstantin   
0    679 0

Комментарии (9)

  1. Konstantin 10 сентября 2016, 16:13 # 0
    Это из журнала ошибок
    [2016-09-10 16:10:30] (ERROR @ /home/users/m/m-a-999/domains/сайт.ru/core/xpdo/om/xpdoobject.class.php : 240) Error 42000 executing statement: 
    Array
    (
        [0] => 42000
        [1] => 1064
        [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND `msProduct`.`class_key` = 'msProduct' )' at line 1
    )
    
    1. Роман Садоян 10 сентября 2016, 16:25 # 0
      Попробуй просто $id без ковычек.

      Или вот такой код
      {'id' | placeholders}
      Если ресурс выводится через pdoTools то почему бы сразу не включить туда изображение из msgallery?
      1. Konstantin 10 сентября 2016, 16:54 # 0
        помогло без кавычек. Спасибо
        1. Konstantin 10 сентября 2016, 17:55 # 0
          Может знаете как сделать.
          в шаблоне я вызываю сниппет
          [[!msProducts?
                              &parents=`7`
                              &includeThumbs=`120x90,250x250`
                              &tpl=`Главная-товар-один`
                              &showLog=`0`
                          ]]
          далее в чанке — Главная-товар-один
          я вызываю другой сниппет
          [[!msGallery?
              		                &tpl=`Главная-товар-картинки`
              		                &product=`[[+id]]`
              		                &limit=`2`
              		                ]]
          В итоге у меня вместо 4 продуктов выводится только 1.
          А если я не использую сниппет галереи то все продукты выводятся
        2. Максим Кузнецов 10 сентября 2016, 16:36 # 0
          'product' => $id
          Когда ты используешь {}, то ты входишь в синтаксис Fenom — поэтому повторные фигурные скобки внутри него не нужны.
          Кавычки '' также не нужны, потому что ты передаешь переменную, а не строку.
          1. Konstantin 10 сентября 2016, 16:56 # 0


            вот получилось.
            Но теперь произошло так, что выводится вместо 4 товаров только один.
            а если я убираю из чанка код этот:

            {$_modx->runSnippet('!msGallery', [
                		                'tpl' => 'Главная-товар-картинки',
                		                'product' => $id,
                		                'limit' => 2
                		            ])}
            тогда все хорошо, все товары выводятся. (((
          2. Konstantin 10 сентября 2016, 19:31 # 0
            Вот кстати ответ на вопрос — как вывести картинку из ms2Gallery используя pdoTools -> pdoResources

            [[!pdoResources?
                                    	&class=`msProductFile`
                                    	&tpl=`@INLINE [[+rank]] - [[+url]]`
                                    	&where=`{"product_id":"[[+id]]", "path:LIKE":"%/120x90/","rank":1}`
                                    	&limit=`1`
                                    	&sortby=``
                                    	&sortdir=``
                                    	&showLog=`0`
                                    ]]
            «rank»:1 — это указываем вторую картинку в товаре, если нужна первая то указываем «rank»:0
            1. Konstantin 10 сентября 2016, 19:33 # -1
              И в топку всякие msGallery сниппеты от которых все глючит
              1. Роман Садоян 10 сентября 2016, 20:01 # +1
                Да дело тут не в сниппете было, а в том как его использовали. msGallery — отлично справляется со своей задачей.
              Вы должны авторизоваться, чтобы оставлять комментарии.