【问题标题】:Load View in Custom Helper Codeigniter 4在自定义助手 Codeigniter 4 中加载视图
【发布时间】:2021-07-07 22:59:04
【问题描述】:

在 CI 3 中,我可以像这样在帮助程序中加载视图文件。

if ( !function_exists('render_admin_view') ) {
        function render_admin_view($filename, $data) {
            $ci = &get_instance();
            $dir = $ci->config->item('admin_dir');
            $ci->load->view($dir . 'common/header', $data);
            $ci->load->view($filename, $data);
            $ci->load->view($dir . 'common/menu', $data);
            $ci->load->view($dir . 'common/footer', $data);
        }
}

但在 CI 4 中,当我在自定义助手中使用此函数时,它会显示以下错误。

调用未定义函数get_instance()

如何在 CI 4 的帮助程序中加载视图文件?

【问题讨论】:

标签: php codeigniter-4


【解决方案1】:

这些都不需要。

在 codeigniter 4 中,您需要做的就是:

if ( !function_exists('render_admin_view') ) {
        function render_admin_view($filename, $data) {
            $dir = config('admin_dir');
            echo view($dir . 'common/header', $data);
            echo view($filename, $data);
            echo view($dir . 'common/menu', $data);
            echo view($dir . 'common/footer', $data);
        }
}

更多关于在此处使用视图的信息:https://codeigniter.com/user_guide/outgoing/views.html?highlight=views

如果要返回视图,只需将其存储在变量中并返回这些变量的内容即可。

话虽如此,使用助手加载视图并不理想。你想在你的控制器中做到这一点。或者,如果您想渲染部分甚至有不同的布局,您应该查看 codeigniter 4 提供的视图布局。

【讨论】:

  • 你解决了我的问题,你能告诉我在哪里可以设置config('admin_dir'); 吗?
  • 这应该在您的 App/Config 文件夹设置中作为一个类,然后您可以像加载任何其他类或使用配置助手一样将其加载到您的助手中。
猜你喜欢
  • 2014-02-08
  • 1970-01-01
  • 2012-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-20
  • 2012-06-19
相关资源
最近更新 更多