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?
После обновления 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?
Комментарии: 9
В логах что?
В журнале в основном:
[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, ничего из указанного не нашёл.
[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, ничего из указанного не нашёл.
pdotools_fenom_save_on_errors вот эту настройку включай, чтобы было легче найти ошибку. Как написали ниже — нужно после символа {ставить пробел в любых js
Проблема 90% в том, что где-то у вас лишний символ { затесался. Поищите по коду страницы и вставьте пробел типа, { padding-
Это поправил. Пропадает то что между {foreach $products as $product}. Видимо, переменная $product не прописана для этого чанка (он кастомный). Подскажите, пожалуйста, где прописать переменную $product для этого чанка?
Способов полно
1) Передать из чанка в чанк:
p.s. за 100% работоспособность кода не ручаюсь, проверить некогда, но мысли верные
1) Передать из чанка в чанк:
{$_modx->getChunk('orderOuter',[
'products' => $products
])}
2) Попробовать метод getPlaceholder():{var $products = $_modx->getPlaceholder('products')}
3) Вероятно, еще как-то можно.p.s. за 100% работоспособность кода не ручаюсь, проверить некогда, но мысли верные
Дмитрий, спасибо!
Можно просто прописать эту переменную ($products) в сниппет msOrder?
Можно просто прописать эту переменную ($products) в сниппет msOrder?
Честно, не очень понял о чем. Ну можете попробовать клонировать сниппет и его использовать. Но не думаю, что это хорошая идея.
Уже попробовал. Не получилось. Не могу понять куда что прописать, чтобы заработало в чанке orderOuter.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.