首页 / 技术 / 正文

ThinkPHP模板输出常量的方法及网站面包屑导航的制作

2016年04月06日 3 条评论 ... 技术 /

ThinkPHP 中内置了很多常量,利用这些常量可以方便我们获取路径,最常见的模板常量是使用两个“__”即两组两个下划线组成的,比如 __URL__ 值得是当前操作方法,而 __APP__ 指的是当前应用。

然而还有很多常量并没有提供特别明显的模板输出的方法,所以要在模板中使用,可以使用 Think 类的常量进行输出。比如,获取当前 controller 类的名称,ThinkPHP 的内置变量为 CONTROLLER_NAME ,如果想要输出,则需要在其前面加入 Think.const. 前缀,组成 {$Think.const.CONTROLLER_NAME} 如此这样可以直接在模板中输出这个常量。

知道了如何输出常量,就可以轻易做出一个网站的面包屑导航了,面包屑导航目前没有想到比较好的制作方法,只能使用模板函数,通过对当前页面的控制类和操作方法的判断来显示对应的导航。

代码如下:

  1. <div class="guide"> 
  2.     <a href="__APP__"><i class="fa fa-home"></i>首页</a> 
  3.     <switch name="Think.const.CONTROLLER_NAME"> 
  4.         <case value="Task">>><a href="__CONTROLLER__">任务大厅</a></case> 
  5.         <case value="Bbs">>><a href="__CONTROLLER__">讨论区</a></case> 
  6.         <case value="Zc">>><a href="__CONTROLLER__">众筹</a></case> 
  7.     </switch> 
  8.     <switch name="Think.const.ACTION_NAME"> 
  9.         <case value="Index"></a></case> 
  10.         <case value="post">>>帖子详情</a></case> 
  11.         <case value="taskitem">>>任务详情</a></case> 
  12.         <case value="item">>>众筹详情</a></case> 
  13.     </switch> 
  14. </div> 

通过模板函数 <switch> 来进行判断,这些代码只需要放置在头部模板中,只要在任何页面中引用,就可以自动判断并显示对应的导航,前提是你首先写好对应的控制类名称。

3 条评论

Loading...
  1. 周墨白

    师哥你现在还玩微博吗 微博ID 周墨白啦 求关注

    2016-04-9 [回复]
    • 有野出没

      恩,已经关注 :twisted:

      2016-04-10 [回复]
      • 周墨白

        谢谢师哥 以后多多指点。你做新媒体推广一定很厉害

        2016-04-10 [回复]

发布评论