URL生成

ThinkCMF遵循ThinkPHP的url生成方法:

U方法的定义规则如下(方括号内参数根据实际应用决定):

U(‘地址表达式’,[‘参数’],[‘伪静态后缀’],[‘是否显示域名’])

  1. U('Blog/Index/index') // 生成Blog应用Index控制器的index操作的URL地址
  2. U('Portal/Article/index?id=1') // 生成Portal应用Article控制器的index操作 并且参数id为1的URL地址
  3. U('Portal/Article/index',array('id'=>1) // 生成Portal应用Article控制器的index操作 并且参数id为1的URL地址
  4. U('User/index') // 生成当前应用的User控制器的index操作的URL地址

参数:
U方法的第二个参数支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,例如:

  1. U('Blog/Index/index',array('cat'=>1,'status'=>1))
  2. U('Blog/Index/index','cat=1&status=1')
  3. U('Blog/Index/index?cat=1&status=1')

添加生成带域名的 url,只要把第四个参数设置为 true

  1. U('Blog/Index/index','cat=1&status=1',true,true)

leuu/UU方法:

为了配合后台设置的 url 美化规则,cmf 增加了 leuu/UU两个方法,UU方法只是 leuu 的别名用法一样;
leuu 的参数列表和 U 方法一样,只是要配合后台设置的 url美化规则才能生效,如没有规则,leuu 其实就是 U 方法;

url的美化规则设置:

进入ThinkCMF后台,设置->网站信息->URL美化

原始网址规则:应用名(小写)/控制器名/操作名?参数 如:portal/list/index?id=1
显示网址:英文字母加数字,不带后缀;

如:

原始网址规则:portal/list/index?id=1

显示网址:cases

  1. leuu("portal/list/index",array('id'=>1)) //生成的 url为/cases.html

列出常用的优化方案:

  1. portal/list/index?id=1 news http://demo.thinkcmf.com/news.html
  2. portal/list/index?id=2 discovery http://demo.thinkcmf.com/discovery.html
  3. portal/page/index?id=2 contacts http://demo.thinkcmf.com/contacts.html
  4. portal/page/index?id=14 about http://demo.thinkcmf.com/about.html
  5. portal/article/index article/:id\d http://demo.thinkcmf.com/article/1.html
  6. portal/list/index list/:id\d http://demo.thinkcmf.com/list/1.html

注意:进行URL美化之后,要进入ThinkCMF后台,进行清除缓存操作后,刷新前台,才能看到美化效果。