• fastadmin分类下拉(多级分类)使用教程


    效果图1:

    在后台分类管理中,添加需要的分类数据

    效果图2:

    在后台添加页面,点击下拉即可出现分类多级下拉数据

    以上就是效果图。

    分类下拉实现步骤:

    1.更改控制器

    找到需要修改的控制器,修改公共方法 _initialize(),修改前需要引入功能包 use fast\Tree

    1. public function _initialize()
    2. {
    3. //初始化
    4. parent::_initialize();
    5. //实例一个对象
    6. $CategoryModel = new \app\admin\model\Category;
    7. //获取数据并转成数组
    8. $list = collection($CategoryModel->select())->toArray();
    9. //将数据给到这个方法中
    10. Tree::instance()->init($list);
    11. //这创建了一个空数组,然后使用 getTreeList() 方法从 Tree 实例中检索一组树节点
    12. //将根节点 ID (0) 作为参数传递给它的 getTreeArray() 方法。
    13. $groupdata = [];
    14. $result = Tree::instance()->getTreeList(Tree::instance()->getTreeArray(0));
    15. //遍历 $result 数组,将每个树节点的 name 字段作为 $groupdata 数组中一个条目的值,将 id 字段作为键。
    16. foreach ($result as $k => $v) {
    17. $groupdata[$v['id']] = $v['name'];
    18. }
    19. //返回
    20. $this->view->assign("channel", $groupdata);
    21. }

    2.修改add添加页面

    找到你对应的添加模板页面,视图中view/xxx/add.html

    1. <div class="form-group">
    2. <label class="control-label col-xs-12 col-sm-2">{:__('Pid')}:label>
    3. <div class="col-xs-12 col-sm-8">
    4. {:build_select('row[pid]',$channel, null, ['class'=>'form-control selectpicker','data-rule'=>'required'])}
    5. div>
    6. div>

    3.修改edit编辑页面

    找到你对应的编辑模板页面,视图中view/xxx/edit.html

    1. <div class="form-group">
    2. <label class="control-label col-xs-12 col-sm-2">{:__('Pid')}:label>
    3. <div class="col-xs-12 col-sm-8">
    4. {:build_select('row[pid]',$channel, $row.pid, ['class'=>'form-control selectpicker', 'multiple'=>'','data-rule'=>'required'])}
    5. div>
    6. div>
    1. build_select($name,$options,$selected,$attributes)
    2. //$name:生成下拉框的 name 属性值,即表单提交时对应的字段名。
    3. //$options:下拉框的选项列表。这个参数可以是一个关联数组,其中键表示选项的值,值表示选项的文本。例如:['1' => '男', '2' => '女']。此外,还可以将选项分组,方法是使用一个包含多个数组的二维数组
    4. //$selected:默认选中的选项的值。这个参数可以是一个字符串或数组,用于指定下拉框中默认选中的选项。如果这个参数为 null,将不会有选项被默认选中。
    5. //$attributes:下拉框的 HTML 属性。这个参数是一个关联数组,其中键表示属性名,值表示属性值。例如:['class' => 'form-control', 'data-rule' => 'required']。

    zb,广州,2023.10.28

  • 相关阅读:
    Redis占用内存过高怎么办
    完全保密的以太坊交易:Aztec网络的隐私架构
    17.RedHat认证-Ansible自动化运维(下)
    springboot之RestTemplate接口封装的示例分享
    2023-09-23 Windows系统rust开发环境配置真经
    Python基本数据结构:深入探讨列表、元组、集合和字典
    vscode软件上安装 Fitten Code插件及使用
    TCP网络编程
    Qt 信号与槽 讲解与案例
    泛函分析(二)巴纳赫(Banach)不动点,贝尔曼方程(Bellman equation)在强化学习的应用
  • 原文地址:https://blog.csdn.net/NCZB007/article/details/134088360