如果想动态的获取当前栏目所处的位置,就要关联到数据库,下面是例子:

  栏目表(category):

            

  涉及到二级目录。

  (1)首先在你的首页导航栏,还有首页所出现的链接后面,为栏目加上catid,就像这样: 。

      当然,子页公用的导航栏也是要加上的。

  (2)然后在控制器里面获取数据。           

      /* 当前位置 */

      $cat_id = $_GET['catid'];

      $cat = M("category"); //实例化category

      $data = $cat->where('cat_id='.$cat_id)->find(); //在category表中查找数据

      if($data['parent_id']){  //判断当前栏目是否有父级栏目

        $parent_data = $cat->where('cat_id='.$data['parent_id'])->find(); //如果有,查找父级栏目cat_id

      }

      if($parent_data){ //判断父级栏目是否有cat_name

        $this->assign('parent', $parent_data); //如果有,将值赋给parent变量

      }else{

        $this->assign('parent', ''); //如果没有,将空值赋给parent变量

      }

      $this->assign('cat',$data); //将以上所获取到的值赋给cat变量

      /* END 当前位置 */

  (3)新建一个公用HTML文件在Common里,命名为currentPosition.html,内容如下:

      

(4)在需要显示当前栏目的地方引用currentPosition.html即可:

      <include file="Common/Common/currentPosition.html" />

 最终的打印结果为:

    ① 没有父级栏目:

         

    ②    有父级栏目:

         

当然这一切是建立在连接到数据库的情况下。

当前位置算是获取了,但是要是想给当前栏目的父级栏目添加链接,就要给category表添加一个新的字段:

然后修改一下控制器内容,在里面添加几句:

在currentPosition.htm里面调用:

这时候如果有父级栏目就会输出父级栏目然后在后面加个 “>”,如果没有父级栏目就输出空。

最终的打印结果为:

    ① 没有父级栏目:

         

    ②    有父级栏目:

         

PHP获取当前位置的更多相关文章

  1. Uwp Windows10获取设备位置(经纬度)

    先在Package.appxmanifest中配置位置权限 2. 创建LocationManager类 using System; using System.Collections.Generic; ...

  2. js 如何在浏览器中获取当前位置的经纬度

    这个有一定的误差哈,具体的误差是多少,有兴趣的朋友可以去测试下 直接上代码 index.html页面代码: <html> <head lang="en"> ...

  3. jq获取鼠标位置

    jq获取鼠标位置 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  4. C++获取鼠标位置及全局检测鼠标行为

    1.获取鼠标位置(在屏幕的位置)  CPoint m_mouse; GetCursorPos(&m_mouse); 2. 屏幕转化为客户端(控件的相对位置)& 客户端位置转化为屏幕位置 ...

  5. android 获取当前位置

    1. Android开发位置感知应用程序方式:1. GPS 定位     精确度高,仅适用于户外,严重消耗电量.如果手机内置GPS接受模块,即使手机处于信号盲区,依然可以获取位置信息. 2. NETW ...

  6. Selenium2学习-031-WebUI自动化实战实例-029-JavaScript 在 Selenium 自动化中的应用实例之四(获取元素位置和大小)

    通过 JS 或 JQuery 获取到元素后,通过 offsetLeft.offsetTop.offsetWidth.offsetHeight 即可获得元素的位置和大小,非常的简单,直接上源码了,敬请参 ...

  7. jquery 获取鼠标位置

    //获取鼠标位置 $(function(){ $('body').mousemove(function(e) { e = e || window.event; __xx = e.pageX || e. ...

  8. android EditText获取光标位置并安插字符删除字符

    android EditText获取光标位置并插入字符删除字符1.获取光标位置int index = editText.getSelectionStart(); 2.在光标处插入字符int index ...

  9. Android EditText获取光标位置并插入字符删除字符

    1.获取光标位置 int index = editText.getSelectionStart(); 2.在光标处插入字符 int index = editText.getSelectionStart ...

  10. Adobe Edge Animate –获取鼠标位置及跟随鼠标功能实现

    Adobe Edge Animate –获取鼠标位置及跟随鼠标功能实现 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 在网络上浏览有关Edge相关问题的时 ...

随机推荐

  1. 79 umount-卸除目前挂在Linux目录中的文件系统

    Linux umount命令用于卸除文件系统. umount可卸除目前挂在Linux目录中的文件系统. 语法 umount [-ahnrvV][-t <文件系统类型>][文件系统] 参数: ...

  2. spring的AOP

    最近公司项目中需要添加一个日志记录功能,就是可以清楚的看到谁在什么时间做了什么事情,因为项目已经运行很长时间,这个最初没有开来进来,所以就用spring的面向切面编程来实现这个功能.在做的时候对spr ...

  3. JS数组转字符串和字符串转数组

    主要用到以下两个函数 join();//将数组转换成字符串split();//将字符串转换成数组 <script type="text/javascript"> var ...

  4. Advanced Office Password Recovery安装后显示是英文版的

    一些才开始接触Advanced Office Password Recovery(即AOPR)的朋友,在安装Advanced Office Password Recovery的时候可能发现Advanc ...

  5. IndentationError: unindent does not match any outer indentation level

    [problem] 从别处copy过来的python代码经过自己改动后,运行出错 [解决过程] vim file :set list  # cat -A file 也可以 可以看到9-12行的inde ...

  6. 面试题目——《CC150》线程与锁

    package cc150.thread_lock; public class RunnableThreadExample implements Runnable{ public int count ...

  7. EF唯一索引

    this.Property(p => p.Name) .IsRequired() .HasMaxLength()) .HasColumnAnnotation("Index", ...

  8. rpm---linux软件安装与管理

    linux的安装命令选项太多,整理一下,方便后期查找. 汇总: install: rpm -ivh 包全名 安装 upgrade: rpm -Uvh 包全名 升级 erase: rpm -e 包名 删 ...

  9. 基于dom的xss漏洞原理

    原文:http://www.anying.org/thread-36-1-1.html转载必须注明原文地址最近看到网络上很多人都在说XSS我就借着暗影这个平台发表下自己对这一块的一些认识.其实对于XS ...

  10. [Nhibernate]sqlite数据库基本使用

    目录 写在前面 操作步骤 总结 写在前面 昨天有朋友问我在nhibernate中如何使用sqlite数据库,当时实在忙的不可开交,下周要去山西出差,实在没空,按我的说法使用sqlite跟使用sqlse ...