Выполнение операторов Twig из JS-функции MatchMedia? - PullRequest
0 голосов
/ 04 июня 2019

Возможно ли выполнить Twig операторы include из запроса Javascript MatchMedia?

Я пытаюсь обойти другую проблему, просто отображая другой тип меню на нашей точке останова планшета.

Я знаю, что JS не может общаться с сервером, но можно ли выполнить веткукоманда вообще таким образом?


         if (matchMedia) {
         const mq = window.matchMedia("(min-width: 992px)");

         mq.addListener(WidthChange);
         WidthChange(mq);
         }

         // media query change
         function WidthChange(mq) {
         if (mq.matches) {
         // window width is greater than 992px 

{% include 'snippets / navbar.rain' с {'type': 'Desktop'}%}

         } else {

         // window width is less than 992px

{% включают 'snippets / navbar.rain' с {'type': 'Tablet'}%}

         }

       }


Я не могугде-нибудь в Интернете можно найти правильный синтаксис или даже примеры того, является ли это возможным решением.Спасибо

1 Ответ

1 голос
/ 04 июня 2019

twig - это язык шаблонов, исполняемый на сервере. Так что ответ - нет. Оператор include должен выполняться на сервере при рендеринге html. JS будет работать в браузере, когда DOM будет создан.

...