• 学习笔记-php简单联级下拉菜单输出-2016.4.7


      在使用联级输出的时候一到一个模型里面的小问题,之前不注意,模型里不同的方法每次得到的数据交给控制器的时候,我都以数组的形式输出,但是这个数组我作为私有字段,到时今天做联级菜单输出的时候,不能正常输出,最后不得不吧这个私有字段去掉,在每个方法的作用域里面分别初始化一个数组,这样就互不干扰!(还是考虑的太少,太异想天开!)

    不说了,贴代码

    html部分

    <select name="nav">
      <option>请选择一个栏目类别</option>
        {$nav}
    </select>

    /********************************/
    php控制器部分
    <?php

    class ContentAction extends Action{
    public function __construct(&$tpl){
    parent::__construct($tpl);
    }

    public function action(){
    switch($_GET['action']){
    case 'show':
    $this->show();
    break;
    case 'add':
    $this->add();
    break;
    case 'update':
    $this->update();
    break;
    case 'delete':
    $this->delete();
    break;
    default:
    Tool::alertBack('非法操作!');
    break;
    }
    }

    //show
    private function show(){
    $this->tpl->assign('show',true);
    $this->tpl->assign('title','文档列表');
    }

    //add
    private function add(){
    $this->tpl->assign('add',true);
    $this->tpl->assign('title','新增文档');
    //获取联级下拉菜单
    /*
    * 使用<optgroup></optgroup>分组获取主菜单
    * 再内容控制器内实例化导航模型
    */
    //初始化一个变量
    $htm = 0;
         //实例化nav模型类
    $nav = new NavModel();
    foreach($nav->getAllNav() as $object){//这里循环输出主导航
           //将主导航用optgroup标签按照分组形式输出
    $htm .= '<optgroup label="'.$object->nav_name.'">'." ";//这里为了能够查看源代码更加清晰,所以加上了
           //将主导航的ID交给导航模型的私有字段
    $nav->id = $object->id;
            //同过ID查找对应的PID,并加以判断
    if(!!$childNav = $nav->getAllChildNav()){
             //如果存在就将数组数据循环取出,并用option标签输出
    foreach($childNav as $obj){
    $htm .= '<option value="'.$obj->id.'">'.$obj->nav_name.'</option>'." ";
    }
    }
    $htm .='</optgroup>';
    }
          //向模版里面注册变量
    $this->tpl->assign('nav',$htm);
    }


    }

    //晚安!
  • 相关阅读:
    官方源、镜像源汇总
    Kubernetes V1.15 二进制部署集群
    ZABBIX 4.0 LTS 部署
    SSH + Google Authenticator 安全加固
    Hadoop+HBase 集群搭建
    自动化运维之PSSH
    KVM之CPU虚拟化
    GoAccess日志分析工具
    HTTPS之acme.sh申请证书
    AWStats日志分析系统
  • 原文地址:https://www.cnblogs.com/lanxiaoyu/p/5361952.html
Copyright © 2020-2023  润新知