如何生成链接

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

评论列表
阳光 2022-09-06 20:38:12
表单提交时的表单必填项验证是如何设置的
王春生 2022-09-09 08:13:37
模块目录下面的config.php里面配置的,参考我们的内置应用。
静静的天空 2019-04-30 12:43:08
如果参数中带中划线-怎么办?PATH_INFO方式会切割成两个参数,怎么解决?
王春生 2019-04-30 13:09:19
编码,解码。helper::safe64Encode()
snail_chen 2019-03-13 11:47:10
禅道view模块使用了很多icon,如html::icon($lang->icons['story']),printIcon等,请问禅道里面的icon保存在哪个目录下?
王春生 2019-03-14 09:25:16
www/目录下面的字体文件。
铁生 2018-12-11 15:13:38
本公司自己的产品想与禅道打通,想读取禅道上传的附件,file/control.php 里面有读取图片的方法,和下载文件的方法,要是想直接读取上传的word ,pdf ....等文档资源应该用什么方法啊?
王春生 2018-12-12 15:55:18
一样的。附件走的入口都是一样的。:)
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
发表评论
评论通过审核后显示。