我总是往往忘记这些内置 功能用于制作联系。

有帮助吗?

解决方案

如果你的目标是有用户友好的网址整个应用程序,使用以下方法:

1)创建一个路由选择规则的模块/行动中的应用程序的路由选择。阳明海运的文件。以下的例子是路规则的一个行动,显示最新问题中的一个应用程序,违约,第1页(使用寻呼机):

recent_questions:
   url:    questions/recent/:page
   param:  { module: questions, action: recent, page: 1 }

2)一旦路由选择规则设置,使用 url_for() 助手在你的模板格式出的网址。

<a href="<?php echo url_for('questions/recent?page=1') ?>">Recent Questions</a>

在这个例子中,以下网址将构成: http://myapp/questions/recent/1.html.

3)进入的网址(请)将分析通过路由系统,如果一个模式中找到匹配的路由选择配置规则中,命名通配符的(ie。的 :/page 部分URL)将成为请求的参数。

你也可以使用 link_to() 帮助者输出URL不使用HTML <a> 标记。

其他提示

这个建议是,为解为1.0。它可能会工作的以后版本。

在你sfAction类:

串genUrl($参数=array(),$绝对=false)

例如。$this->getController()->genUrl('yourmodule/youraction?key=value&键2=value',true);

在一个模板:

这将产生一个正常的链接。

串link_to($name,$internal_uri,$options=array());

例如。link_to('我的链接名称','yourmodule/youraction?key=value&键2=value');

此外,如果你真想要一个查询串与该网址,使用这样的:

link_to('My link name', 'yourmodule/youraction?key=value&key2=value',array('query_string'=>'page=2'));

否则,它会试图将其作为url的一部分,并有可能打破你的行动。

你可以产生URL没有直接定义的规则为先。

如果你想产生URL的行动,可以使用 generateUrl() 助手:

$this->generateUrl('default', array('module'=>'[ModuleName]','action'=>'[ActionName]'))

如果你想产生URL的模板,可以使用 url_for() 助手:

url_for('[ModuleName]/[ActionName]', $absolute)

设置$绝对true/false,不要忘记利用回声如果你想要显示。

但如果你想要做一个 链接 (喜欢的东西 <a href=""></a>), link_to() 帮助者会做的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top