gpt4 book ai didi

php - 在 CodeIgniter 的每个页面上创建数据库生成的菜单?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:47 26 4
gpt4 key购买 nike

我正在使用 CodeIgniter,网站上有一个菜单需要从数据库中读取城市列表。如果只是在一个或两个页面上,这很容易做到 - 我加载模型并从 Controller 调用一个函数,然后将数据传递到 View 中。

但如果我想在每个页面上都使用它,这意味着我必须不断将相同的代码复制到每个 Controller 函数并将数据传递到 View 中。 (请注意,我使用的是包含菜单的单独“标题” View 。)

在每次页面加载时自动加载一些数据并使其可供我查看的最佳方法是什么?

最佳答案

创建一个新的根 Controller 类,如 MY_Controller

你可以在这里阅读如何:https://www.codeigniter.com/user_guide/general/core_classes.html

然后让你所有的 Controller 扩展那个类。

MY_Controller 中添加一个函数,如下所示:

function show_view_with_menu($view_name, $data) {
$menu_data = $this->menu_model->get_menu(); // load your menu data from the db
$this->load->view('header', $menu_data); // display your header by giving it the menu
$this->load->view($view_name, $data); // the actual view you wanna load
$this->load->view('footer'); // footer, if you have one
}

每当您通常加载 View 时,请执行以下操作:

$this->show_view_with_menu('view_for_this_controller', $data);

关于php - 在 CodeIgniter 的每个页面上创建数据库生成的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7473739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com