如何生成链接

2011-05-28 13:44:32
王春生
19694
最后编辑:王春生 于 2014-08-07 21:15:10
简介:因为ZenTaoPHP框架有两种运行方式,所以在生成链接的时候,尽量不要手工拼写链接代...

因为zentaoPHP框架有两种运行方式,所以在生成链接的时候,尽量不要手工拼写链接代码,通过调用系统提供的createLink方法,来生成链接。

一、$this->createLink()方法

比如,我们要生成一个blog模块的view方法的链接,需要传递参数为id=17,这样来调用:


echo $this->createLink('blog', 'view', 'id=17&cat=123')

第一个参数是模块名称,第二个参数是方法名,第三个参数是参数,使用key1=value1&key2=value2这种方式来进行传参。

如果运行方式为PATH_INFO,这样会生成 blog-view-17-123.html这样的链接。
如果运行方式为GET,则生成?m=blog&f=view&id=17&cat=123&t=html的链接。

二、helper::createLink()方法

$this->createLink()方法,是可以在control和view里面直接调用的。如果需要在其他地方调用,则可以使用helper::createLink(),参数是一样的。

三、JS版本的createLink()方法

另外,我们还提供了一个js版本的createLink()函数,用来在js交互中生成一些链接。具体的代码,可以参考app/demo/www/js/my.js里面的定义。

不过在调用js版本的createLink()之前,需要调用下js::exportVars()方法,来输出下当前系统的配置参数。

评论列表
twinkle 2018-08-07 11:48:04
<form action="<?php echo $this->createLink('hello' , 'girl');?>" method="get">
后台$_GET接收不到数据,把method改为post 后台$_POST能接收到数据,
请问这是什么原因?找了好久也不知道什么问题
王春生 2018-08-07 13:48:26
filter模块把没有声明的参数都过滤了。
12121 2018-03-15 21:42:24
怎么把html页面中的值传到control中去调用?
王春生 2018-03-20 16:50:47
仔细看手册。
张埔溪 2018-03-05 17:43:51
PATH_INFO模式参数设置好之后,在php端怎么接收。
王春生 2018-03-08 09:33:32
url地址里面的参数会映射为control函数里面的参数。
尜尜 2017-11-20 16:59:05
系统的所有主键都改为由 36个字母数字组成的字符, 但是页面跳转的时候 总是提示无权操作 ,但是如果把其中一条数据的id改为数字,然后跳转详情就没问题,这是因为在系统哪里限制了id只能是数字? 但是我找过滤器filter.php和model没找到有限制
王春生 2017-11-22 16:58:50
config/filter.php,检查下这个文件里面的配置。
1/1
发表评论
评论通过审核后显示。