Встроенный модификатор ereplace
        C помощью встроенного модификатора «ereplace» в парсере компонента pdoTools не могу привести строки вида assets/pictures/kepek/2015/18_Korrózió.jpg в следующую строку: assets/pictures/kepek/2014/18_Korrózió_w270_h220.jpg, в строках используется уникод.
Выводятся строки без изменений.
проверил
на сайте phpliveregex, регулярное выражение срабатывает
Код вывода:
    
    
                                                                                
            Выводятся строки без изменений.
проверил
preg_replace("/^(.+)(.+)(\..{3,4})$/ium", "${1}${2}_w270_h220${3}", $input_lines); на сайте phpliveregex, регулярное выражение срабатывает
Код вывода:
[[pdoResources? &parents=`5` &includeTVList=`Kep`  &hideContainers=`1` &limit=`0`    &showLog=`1`  &fastMode=`1`
            &tpl=`@INLINE {'{{+tv.Kep}}' | ereplace : '/^(.+)(.+)(\..{3,4})$/imu' : '${1}${2}_w270_h220${3}'} </br>`
]]Подскажите пожалуйста, что делаю не так?    Комментарии: 9
Подскажите пожалуйста, что делаю не так?Как минимум, смешиваешь 2 вида синтаксиса в чанке без особой причины. А если учесть, что Fenom отрабатывает в первую очередь, то модификатор получает на вход "[[+tv.Kep]]".
Попробуй так:
&tpl=`@INLINE {$_pls['tv.Kep'] | ereplace : '/^(.+)(.+)(\..{3,4})$/imu' : '${1}${2}_w270_h220${3}'} </br>`            
                Василий, большое спасибо! Заработало!
Если не сложно подскажите пожалуйста, как сделать, если усложню задачу:
Строку вида:
assets/pictures/kepek/2015/18_Korrózió.jpg
изменить на assets/pictures/kepek/2014/thumbs/20_Töredék_w270_h220.jpg
т.е. добавить папку thums перед файлом. Голову сломал как это сделать в регулярном выражений одной строкой.
                    Если не сложно подскажите пожалуйста, как сделать, если усложню задачу:
Строку вида:
assets/pictures/kepek/2015/18_Korrózió.jpg
изменить на assets/pictures/kepek/2014/thumbs/20_Töredék_w270_h220.jpg
т.е. добавить папку thums перед файлом. Голову сломал как это сделать в регулярном выражений одной строкой.
                решил следующим образом 
                    &tpl=`@INLINE {$_pls['tv.Kep'] | ereplace : '/^(.*[\/])(.+)(.+)(\..{3,4})$/imu' : '${1}thumbs/${2}${3}_w270_h220${4}'} </br>`помог в этом ресурс regex101            
                Василий, подскажи пожалуйста:
Как заставить fenom прожевать эту инструкцию с регулярным выражением?
Unexpected token '${' in expression in modchunk/a186e5edb5a26a35539d3aa180d7eac0 line 8, near '{$_pls[«tv.Kép»] | ereplace: "/^(.*[\/])(.+)(.+)(\..{3,4})$/imu": "${' < — there
            
                    Как заставить fenom прожевать эту инструкцию с регулярным выражением?
{'pdoPage' | snippet : [ 'includeTVList'=>'Kép', 'parents'=>5, 'tpl'=>'@INLINE  {$_pls["tv.Kép"] | ereplace : "/^(.*[\/])(.+)(.+)(\..{3,4})$/imu" : "${1}thumbs/${2}${3}_thumb_w270_h220${4}" }" ']}выводит ошибку Unexpected token '${' in expression in modchunk/a186e5edb5a26a35539d3aa180d7eac0 line 8, near '{$_pls[«tv.Kép»] | ereplace: "/^(.*[\/])(.+)(.+)(\..{3,4})$/imu": "${' < — there
                Я не Василий, но всё же попробую.
Нужно сделать чанк не инлайновым, а обычным, и смотреть, что получается. Такая ошибка обычно говорит об ошибке парсинга шаблонизатора, то есть где-то синтаксис некорректный
                    Нужно сделать чанк не инлайновым, а обычным, и смотреть, что получается. Такая ошибка обычно говорит об ошибке парсинга шаблонизатора, то есть где-то синтаксис некорректный
                уже пробовал, не помогло            
                    
                не у кого нет решения данной проблемы? выводил в отдельный чанк, та же проблема.            
                    
                также перестал работать пакет articles если указан pdotools и включен fenom. (ошибка pdotools.class.php: 977) Unexpected token ':' in 7ff2e169dc058307be33c22826eeb38e line 99, near '{«class_key»:' < — there )
другие тоже указывают проблемы с новой версией pdotools 2.11.0-pl
                    другие тоже указывают проблемы с новой версией pdotools 2.11.0-pl
                article заработал если заменить в шаблонах новостей строку [[*content]] на {$_modx->resource.content}            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.