Fenom не работает только в одном чанке.

Здравствуйте!
После обновления pdoTools и minishop2 перестал работать Fenom в чанке orderOuter. Чанк не обрабатывается шаблонизатором.
Код:
"{foreach $products as $product}
Наменование: {$product.pagetitle}, цвет — {$product.options | join: '; '};
Цена: {$product.price} руб.;
Кол-во: {$product.count} шт.;
{/foreach}
Общая стоимость: {$total.cost} руб."

на выходе:
"{foreach $products as $product}
Наменование: {$product.pagetitle}, цвет — {$product.options | join: '; '};
Цена: {$product.price} руб.;
Кол-во: {$product.count} шт.;
{/foreach}
Общая стоимость: {$total.cost} руб."

При этом, на той же странице, в другом чанке этот код возвращает:
«Наменование: Товар, цвет — белый;
Цена: 100 руб.;
Кол-во: 1 шт.;
Общая стоимость: 100 руб.»

В чём может быть проблема. Может этот чанк надо указать где-то в настройках pdoTools?
lillotm24
12 марта 2018, 07:51
modx.pro
1 432
0

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

snyadanak
12 марта 2018, 11:35
0
В логах что?
    lillotm24
    12 марта 2018, 13:29
    0
    В журнале в основном:
    [2018-03-12 10:24:09] (ERROR @ /home/volsh124/spacesand.ru/core/components/pdotools/model/pdotools/pdotools.class.php: 940) Unexpected tag 'w' in dd5e0d124c05b8f0702c0bdcc8f18262 line 25, near '{w[' < — there
    [2018-03-12 09:37:22] (ERROR @ /home/volsh124/spacesand.ru/core/components/pdotools/model/fenom/Fenom/Template.php(487): eval()'d code: 60) PHP warning: Illegal string offset 'cost'
    [2018-03-12 09:37:22] (ERROR @ /home/volsh124/spacesand.ru/core/components/pdotools/model/pdotools/pdotools.class.php: 940) Unexpected tag 'padding' in e3a9d72afc1f4e74519d1aba8e866c88 line 41, near '{padding-' < — there

    проверил строки 25 и 41, ничего из указанного не нашёл.
      snyadanak
      12 марта 2018, 13:46
      0
      pdotools_fenom_save_on_errors вот эту настройку включай, чтобы было легче найти ошибку. Как написали ниже — нужно после символа {ставить пробел в любых js
    Дмитрий
    12 марта 2018, 13:31
    0
    Проблема 90% в том, что где-то у вас лишний символ { затесался. Поищите по коду страницы и вставьте пробел типа, { padding-
      lillotm24
      12 марта 2018, 14:21
      0
      Это поправил. Пропадает то что между {foreach $products as $product}. Видимо, переменная $product не прописана для этого чанка (он кастомный). Подскажите, пожалуйста, где прописать переменную $product для этого чанка?
        Дмитрий
        12 марта 2018, 14:50
        +1
        Способов полно
        1) Передать из чанка в чанк:
        {$_modx->getChunk('orderOuter',[
        	'products' => $products
        ])}
        2) Попробовать метод getPlaceholder():
        {var $products = $_modx->getPlaceholder('products')}
        3) Вероятно, еще как-то можно.

        p.s. за 100% работоспособность кода не ручаюсь, проверить некогда, но мысли верные
          lillotm24
          12 марта 2018, 15:57
          0
          Дмитрий, спасибо!
          Можно просто прописать эту переменную ($products) в сниппет msOrder?
            Дмитрий
            12 марта 2018, 18:12
            0
            Честно, не очень понял о чем. Ну можете попробовать клонировать сниппет и его использовать. Но не думаю, что это хорошая идея.
              lillotm24
              12 марта 2018, 18:14
              0
              Уже попробовал. Не получилось. Не могу понять куда что прописать, чтобы заработало в чанке orderOuter.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        9