在CakePHP 2.2.1+中生成HTML链接?

时间:2012-07-22 13:58:27

标签: html cakephp hyperlink html-helper cakephp-2.2

如何使用CakePHP 2.2.1中的HtmlHelper类轻松生成HTML链接?

想象一下,我宣布了一条路由,将/finest-perfumes-ever-2012路由到Perfumes/Index控制器/操作。

我需要这个生成的链接:

somedomain.com/finest-perfumes-ever-2012  //Generate link HAS to obey Routes I've set.

而不是:

somedomain.com/Perfumes/Index

documentation似乎并没有很好地解释如何实现这一目标。

2 个答案:

答案 0 :(得分:1)

不确定您是否错过了2012,或者您的问题比我下面的回答更复杂。假设2012无关紧要:

Cake使用了一个非常漂亮的功能 - reverse routing

如果您已正确设置所有内容,则以下内容应输出您想要的内容。

<?php
Router::connect(
    '/finest-perfumes-ever',
    array('controller' => 'perfumes', 'action' => 'index')
);

echo $this->Html->link('View Finest Perfumes!', array('controller'=>'perfumes', 
                                                         'action' => 'index')); 

提供您的URL(使用HTML帮助程序创建时)具有与路径完全匹配的参数,反向路由将查找您希望路径的内容,并相应地输出链接。

如果2012很重要,你可以通过传递参数来实现这一点 - 有一些examples here

答案 1 :(得分:0)

在最后一个路由语句中将路由配置定义到app / Config / routes.php中。

您可以通过passing an argument to the action执行相同的操作,并在routes.php文件中定义它。

请问它是否对您不起作用。