Ошибка "The "replace" filter expects an array or "Traversable" as replace values, got "string""

Тема в разделе "Ошибки и их решения", создана пользователем Marcello, 10 ноя 2022.

  1. Marcello

    Marcello Пользователь

    Сообщения:
    72
    Симпатии:
    1
    Здравствуйте! Opencart 3.0.3.8
    При переходе на страницу товара выскакивает ошибка. Главная, категории и др. - всё работает.
    Подскажите пожалуйста, что это за ошибка и как это можно исправить?
    Буду очень признателен за помощь!
    Код:
    Fatal error: Uncaught Twig\Error\RuntimeError: The "replace" filter expects an array or "Traversable" as replace values, got "string" in "theme/template/product/product.twig" at line 49. in /home/t/transpe4/******.ru/storage/vendor/twig/twig/src/Extension/CoreExtension.php:549 Stack trace: #0 /home/t/transpe4/******.ru/storage/cache/template/f1/f18e6b5d6b4274198c73992f7307cd299697600a0198a82aa44f68aa540c3396.php(170): twig_replace_filter('\r\n\tThe 30-inch ...', '/(^[\r\n]*|[\r\n]+)...', '') #1 /home/t/transpe4/datz.ru/storage/vendor/twig/twig/src/Template.php(405): __TwigTemplate_9c56ff77b1fc0260520854d1121645e607898e304e78079f42fd30fa3690ec94->doDisplay(Array, Array) #2 /home/t/transpe4/******.ru/storage/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array) #3 /home/t/transpe4/******.ru/storage/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array) #4 /home/t/transpe4/******.ru/storage/vendor/twig/twig/src/TemplateWrapper.php(45): Twig\Template->render(Array, Array) #5 / in /home/t/transpe4/******.ru/storage/vendor/twig/twig/src/Extension/CoreExtension.php on line 549 
     
  2. Sig

    Sig Пользователь

    Сообщения:
    89
    Симпатии:
    25
    Документация
    https://api.drupal.org/api/drupal/vendor!twig!twig!lib!Twig!Extension!Core.php/function/twig_replace_filter/8.2.x
    говорит, что так нельзя использовать фильтр replace.
    У вас аргумент - строка с регулярным выражением, а должен быть массив пар ключ-значение для замены, как описано тут
    https://twig.symfony.com/doc/2.x/filters/replace.html

    Чтобы подсказать как исправить - надо видеть сам шаблон. Не очень понятна логика фильтра по логу ошибок. Кажется идет какая-то очистка строки от лишних символов.
     
    Marcello нравится это.