Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Странное поведение Twig


Recommended Posts

Всем доброго дня, господа форумчане. Столкнулся со странной проблемой, шаблонизатор обрезает пробел перед знаком шаблонного литерала. То есть, если код такой:

<!-- top_item.item_align = Left -->
<li class="li-top-item {{ top_item.item_align }}">

 

то на клиенте я получаю 

<li class="li-top-itemLeft">

 

Пробовал чистить всевозможные кэши,  Кэш шаблонизатора в Filesystem.twig отключил. У меня закончились варианты, есть у кого-нибудь идеи?

Надіслати
Поділитися на інших сайтах


35 минут назад, Linkoln сказал:

Всем доброго дня, господа форумчане. Столкнулся со странной проблемой, шаблонизатор обрезает пробел перед знаком шаблонного литерала. То есть, если код такой:


<!-- top_item.item_align = Left -->
<li class="li-top-item {{ top_item.item_align }}">

 

то на клиенте я получаю 


<li class="li-top-itemLeft">

 

Пробовал чистить всевозможные кэши,  Кэш шаблонизатора в Filesystem.twig отключил. У меня закончились варианты, есть у кого-нибудь идеи?

Есть такая проблема..
Я добавляю пробел через тильду ' ' ~

Надіслати
Поділитися на інших сайтах

Разобрался, путем долгого гулежа, для исправления ошибки в файле system/library/template/twig/Lexer.php и в строке примерно 164

найдите код

if (isset($this->positions[2][$this->position][0]) ) {
    $text = rtrim($text);
}

и замените его на

if (isset($this->positions[2][$this->position][0]) && ($this->options['whitespace_trim'] === $this->positions[2][$this->position][0])) {
   $text = rtrim($text);
}

После этого почитите в админ-панели кэш

  • +1 1
Надіслати
Поділитися на інших сайтах


34 minutes ago, mpn2005 said:

Какая версия php?

Понизьте до версии 7.2 или 7.3

Да, именно 7.4 стоит, но на буржуйском рессурсе вычитал, что либо:

1 версих пхп понизить

2 вышеописанный метод

3 обновить Twig до последней версии.

Мне  вариант №2 помог, но заинтересовало вот что- а как Обновить Twig, стоит ли вообще этим заниматься?

Надіслати
Поділитися на інших сайтах


В 27.06.2021 в 20:18, Linkoln сказал:

2 вышеописанный метод

как вариант убрать rtrim

//$text = rtrim($text);
В данном случае - это текстовая лексема

Надіслати
Поділитися на інших сайтах

А можно как-то тему переименовать, что бы если кто столкнется, мог найти? А то я несколько часов гуглил : twig обрезает пробел перед литералом и на рунете ничего

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.