如何生成链接

2011-05-28 13:44:32
王春生
18042
最后编辑:王春生 于 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()方法,来输出下当前系统的配置参数。

    评论列表
    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
    发表评论
    评论通过审核后显示。