1

我正在尝试将 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"}) }}

我没有收到任何错误,它只是被什么都替换了。有谁知道我该如何解决这个问题?

4

4 回答 4

1

您必须在控制器中显式声明助手以使其工作:

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

请参阅 GitHub 问题#14#13我是从哪里得到的。

于 2013-08-19T08:54:53.977 回答
0

超链接 html 帮助器的正确语法是:

{{ html.link('Add Post', '/posts/add') }}
于 2013-10-04T16:10:36.257 回答
0

它是否逃避输出?如果是这样,要获取完整的 HTML,请使用 RAW

{{ html.link("Add Post", {"controller" : "posts", "action" : "add"})|raw }}
于 2013-04-30T06:48:41.800 回答
0

也许它只是不会将数组作为参数,或者不理解控制器或动作是什么。尝试:

{{ html.link("Add Post", "/posts/add" }}
于 2013-02-22T02:26:09.987 回答