2012-09-15 2 views
0

Я хотел бы знать, как было возможно вставить код из функции Backbone/Underscore в twig?Путь Twig с переменной Backbone

Вот моя проблема:

{{path('getArticle', {"id": <%= id %>})}} 

мне нужно изменить эту переменную: <%= id %>

Это не работает, потому что Twig Parse перед кодом Backbone. Поэтому я не знаю, как задать переменную этого типа?

Спасибо заранее

ответ

0

Я полагаю, вы используете Symfony на стороне сервера, а также прутик. В этом случае вам просто нужно отправить идентификатор переменных $ в шаблон TWIG

public function callMyTwigAction($deskId) 
{ 
    $id=whatIwant(); 
    return array('id' => $id); 
} 

, а затем просто позвонить в файле TWIG:

{{path('getArticle', {"id": id})}} 

Похоже, вы несовпадающий шаблон клиента и серверный шаблон. Шаблон клиента, такой как Underscore Template (или, скорее, использует Mustache), преобразует данные необработанных веб-сервисов (JSON или XML) в HTML и, вероятно, написан в Javascript.

Шаблон на стороне сервера обычно преобразует бизнес-объекты (классы Java/PHP) в HTML и использует движок, такой как TWIG или Velocity.

+0

спасибо, но это более полно, я думаю, я в моем случае. Это мой полный код: – Roukmoute

0

С более сложной архитектурой я хотел бы предложить три вещи:

  • упростить архитектуру :) Что-то, возможно, не так.
  • Сделайте веб-сервис, чтобы получить путь к определенному идентификатору (но это сделало бы архитектуру еще более сложной)
  • создать массив путей с Twig в вашем javascript. Thiw может быть в порядке, если есть менее 200 статей, и если эта страница не слишком часто отображается.

Вы используете TWIG на стороне сервера? Какой технологический стек вы используете?

Смежные вопросы