齐博x1前台后台地址跳转的处理
系统有三个入口,分别是 admin.php index.php member.php 所以就不能简单的使用TP默认的 url() 函数
而插件跟频道模块又有所不同,下面先讲解最基本的频道模块当中如何使用
||||||||||||||||||||||||||
最常用的频道模块用法
||||||||||||||||||||||||||
在前台程序访问前台程序, 或者是在后台程序访问后台程序, 或者是会员中心访问会员中心的话, 只要不跨越入口文件的话.
可以直接使用url() 或者是 urls() 我们更推荐使用urls() 这个可以同时处理伪静态路由
urls()的参数使用跟url()一样
访问当前频道模块的话,仅需要 控制器/方法名
即可, 比如 urls('contnt/index')
。如果仅访问当前控制器的话, 仅需要 方法名 即可 比如 urls('index')
当然你全部补全也是可以的 比如 urls('bbs/content/index')
。如果跨频道的话,就必须要补全。注意是跨频道,并不是跨入口文件
以上这种情况,就是典型的TP最基础的使用,因为不涉及跨入口文件. 所以也是最简单的使用
跨入口文件,强制访问前台 index.php
我们现在先讲解,在后台 admin.php 或 在会员中心 member.php 如何访问前台 index.php
这个时候必须也只能使用iurl()
函数
前四项参数跟上面的 urls()
url()
一样使用.
访问当前频道模块的前台,仅需要 控制器/方法名
即可, 比如 iurl('contnt/index')
。如果仅访问当前控制器前台的话, 仅需要 方法名 即可 比如 iurl('index')
当然你全部补全也是可以的 比如 iurl('bbs/content/index')
。如果跨频道的话,就必须要补全。
注意: iurl()
函数代表强制访问前台. 如果本来就是在index.php前台里边,也是可以用这个方法的.
跨入口文件,强制访问会员中心 member.php
在后台 admin.php 或 在前台 index.php 如何访问会员中心 member.php
这个时候必须也只能使用murl()
函数
前四项参数跟上面的 urls()
url()
一样使用.
访问当前频道模块的会员中心,仅需要 控制器/方法名
即可, 比如 murl('contnt/index')
。如果仅访问当前控制器前台的话, 仅需要 方法名 即可 比如 murl('index')
当然你全部补全也是可以的 比如 murl('bbs/content/index')
。如果跨频道的话,就必须要补全。
注意: murl()
函数代表强制访问会员中心. 如果本来就是在member.php会员中心里边,也是可以用这个方法的.
||||||||||||||||||||||||||
插件的用法
||||||||||||||||||||||||||
对于插件而言,比较特殊, 所以他有一个独立的函数 purl()
不跨入口文件的话,只有前两项参数就可以了,比如 purl('show',['id'=>8])
或者 purl('content/show',['id'=>8])
又或者 purl(''book/content/show',['id'=>8])
第二项如果参数不存在可以为空的.
插件跨入口文件
插件跨入口文件,也是用 函数 purl()
只不过,第三项参数必须指定 . 比如 purl('show',['id'=>8],'member')
是强制访问插件的会员中心purl('show',['id'=>8],'index')
是强制访问插件的前台.
第二项如果参数不存在,可以 用 [] 即空数组值
小提示:
另外有一个细节的地方,如果是插件里边不跨频道,也不跨入口文件的话,也可以用 auto_url()
函数,他跟 url()
一样使用.
这个是自适应函数,同时也适合于频道模块.但也同样的只适合于不是跨入口文件的情况.
当然你前期可以忽略这个函数,不使用这个函数,避免容易头晕
后台权限比较严格与特殊,前台与会员中心,就暂时没做后台的访问地址处理
本文来自博客园,作者:半抹灯芯,转载请注明原文链接:https://www.cnblogs.com/wanxiangsucai/p/15601068.html