Просто пофилософствую немного. Может быть, это даст вам какие-то идеи.
Зачем вообще нужно было вводить в обиход нашей прекрасной PHP-экосистемы какие-то сторонние шаблонные языки? Ведь PHP и так прекрасно сочетается с HTML: расставил вопросики со знаками "больше" и "меньше", да и работает.
И второй вопрос: почему у PHP такая плохая репутация? Ведь лично я считаю, что современному PHP ни Python, ни JavaScript даже в подмётки не годятся.
Ответ на оба вопроса: чудовищный говнокод, который стали писать люди, мешая как попало логику и отображение. Исправить баг в этой куче из функций, циклов, ветвлений, перемешанных с развесистым HTML, было просто невозможно. И наш PHP заработал репутацию очень плохого языка.
И вот тогда умные люди решили: а что если мы придумаем для PHP отдельный язык шаблонов, который будет максимально урезан, и программистам придётся не просто отделять HTML от PHP, но и хорошенько подготавливать переменные для этих шаблонов, ведь даже несложную логику на этом языке шаблонов писать очень больно. Это решение (и некоторые другие) настолько улучшило PHP код, что язык ожил, стал развиваться и снова стал нравиться людям, которые постоянно его улучшают.
Так вот... Может быть, вам подготовить все переменные для twig заранее? Чтобы не было вот этой боли?
Этот комментарий просто "на подумать"...
Виктор Кожухарь, сочетание пхп с хтмл – самое хреновое что произошло в этом языке.
сейчас до многих людей наконец дошло для чего шаблонизаторы, а не спагетти–код.
а хороший шаблонизатор не должен давать возможность исполнять произвольный код в шаблоне, только свой синтаксис.
твиг из таких.
Виктор Кожухарь, там суть в том что есть массив, в нем добавленные идентификаторы языков, языки какие сам клиент там определяет, добавляет. А есть массив с данными и там для в нем для каждого языка свои переводы и переменные типа name_1, name_2 где цифра в конце это язык, какие цифры там будут предсказать не возможно, в пыхе там не буду для сотни языков переменные указывать свои и в шаблоне потом так же делать) Я уже переделал естественно в пыхе, но просто думал узнать может для общего развития в том числе, возможно ли такое в твиг шаблоне сделать.
Kerm, Можете попробовать плясать от глобального массива _context
Вот есть что-то похожее на стэке. Там в первом ответе как раз всё хорошо расписано. https://stackoverflow.com/questions/24697313/how-t...
Но я ещё раз вам рекомендую перенести эту логику в PHP