【问题标题】:How is possible show custom variables in any template using CodeIgniter?如何使用 CodeIgniter 在任何模板中显示自定义变量?
【发布时间】:2019-12-11 14:51:57
【问题描述】:

我用页眉、menuleft、主页和页脚分隔我的模板,但是在 menuleft 中我需要显示客户名称、您的许可证代码和其他从 MYSQL 获得并显示为自定义变量的信息。

我如何在 menuleft 上显示这些自定义变量,并在每次用户通过 codeigniter 导航时自动处理处理?

【问题讨论】:

  • 您使用的是哪个 CI 版本?
  • 将此值存储在会话中并调用到所有页面中。您可以将值显示到所有页面中
  • @DevsiOdedra 我认为使用的是最新的稳定版。
  • @Jack 你真的相信这是个好习惯吗?我已经保存了 3 个关于会话的信息。

标签: php codeigniter frameworks continuous-integration


【解决方案1】:

如果您还没有创建一个名为 MY_Controller 的核心控制器类,并让每个控制器都扩展此控制器:

class MY_Controller extends CI_Controller
{

    public $data = array();

    public function __construct()
    {
        parent::__construct();
    }

    public function render($view)
    {
        $this->view('layouts/header', $this->data);
        $this->view('layouts/sidebar', $this->data);
        $this->view($view, $this->data);
        $this->view('layouts/footer', $this->data);
    }

}

现在在您的控制器中:

class Welcome extends MY_Controller
{

    public function __construct()
    {
        parent::__construct();
        // global variables
        $this->data['username'] = 'Álvaro Meireles'; // get it from database or session
        // and so on .. or better move globals to my_controller
    }

    public function index()
    {
        $this->data['title'] = 'Welcome Home';
        $this->render('welcome_view');
    }

}

【讨论】:

  • 那我需要从自定义类扩展到自定义控制器吗?
  • @ÁlvaroMeireles .. 所有控制器都将扩展 MY_Controller
  • 所以在你的例子中我会有一个基本控制器,对吧? @Sherif Salah
  • @ÁlvaroMeireles 没错。
猜你喜欢
  • 2017-08-06
  • 2019-06-24
  • 2018-10-13
  • 2012-02-20
  • 1970-01-01
  • 2016-03-18
  • 2012-03-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多