Twig для CakePHP

Я пытаюсь использовать Twig с CakePHP, поэтому я установил этот плагин:
https://github.com/predominant/TwigView

И в демонстрации CakePHP мы создаем блог, и я могу использовать его в файле tpl:

{% for post in posts %} <tr> <td>{{post.Post.id}}</td> <td>{{post.Post.title}}</td> <td>Edit | Delete</td> <td>{{post.Post.created|date("F j, Y")}}</td> </tr> {% endfor %} 

То, что я не могу заставить работать, преобразует это:

 <?php echo $this->Html->link( 'Add Post', array('controller' => 'posts', 'action' => 'add') ); ?> 

Я пробовал все это, и никто из них не работает:

 {{ html.link("Add Post", {"controller" : "posts", "action" : "add"}) }} {{ _view.html.link("Add Post", {"controller" : "posts", "action" : "add"}) }} {{ this.html.link("Add Post", {"controller" : "posts", "action" : "add"}) }} 

Я не получаю никаких ошибок, он просто заменяется ничем. Кто-нибудь знает, как я могу исправить эту проблему?

Вы должны явно объявить помощников в контроллере, чтобы он работал:

 public $helpers = array('Html', 'Form'); 

См. Вопрос № 14 и № 13 GitHub, откуда я получил это.

Возможно, он просто не примет массив в качестве аргумента или не понимает, что такое контроллер или действие. Пытаться:

 {{ html.link("Add Post", "/posts/add" }} 

Это ускользнуть от выхода? Если да, чтобы получить полный HTML, используйте RAW

 {{ html.link("Add Post", {"controller" : "posts", "action" : "add"})|raw }} 

Правильный синтаксис для гиперссылок html helper:

 {{ html.link('Add Post', '/posts/add') }}