1

我正在使用引导模板将 Ion Auth 库实现到 codeigniter 中。

现在 auth.php 控制器文件正在调用视图,但我希望将这些视图放入我的控件中,以便我可以在我的邮件模板中显示它们,如下所示:

<?php echo $content; ?>

我的 auth.php 文件最初调用这样的视图:

$this->_render_page('auth/login', $this->data);

但我想这样称呼他们:

$this->load->view('template/user', array("content" => $this->_render_page('auth/login',$this->data array())));

这似乎不起作用。我的自动/登录页面出现在模板/用户上方,但它应该出现在里面。

有谁知道我该如何解决这个问题?

4

2 回答 2

0

为此,请按如下方式编辑您的代码$this->load->view('template/user', array("content" => $this->_render_page('auth/login',$this->data array(), TRUE)));转到 ion_auth 身份验证控制器并更正以下错误

原始功能

`function _render_page($view, $data=null, $render=false)
{

    $this->viewdata = (empty($data)) ? $this->data: $data;

    $view_html = $this->load->view($view, $this->viewdata, $render);

    if (!$render) return $view_html;
}`

修改功能

`function _render_page($view, $data=null, $render=false) {

    $this->viewdata = (empty($data)) ? $this->data: $data;

    $view_html = $this->load->view($view, $this->viewdata, $render);

    if ($render) return $view_html;
}`

错误出现在最后的 if 语句中。

于 2013-07-23T12:29:18.050 回答
0

我参加这个聚会有点晚了,但是如果您按照我的方式管理 CI 模板,那么这是_render_page在 ion auth 中更新函数的简单方法:

我的所有内容都被提取到一个模板文件中,如下所示:

<?php $this->load->view('includes/header'); ?>

<?php $this->load->view($contents); ?>

<?php $this->load->view('includes/footer'); ?>

在 ion auth 只想刷新页面的情况下,像这样,

redirect('auth/login', 'refresh');

我改用以下几行。

$redirectString = 'auth/login';
$view_params['contents'] = $redirectString;
$this->load->view('site_template',$view_params);

然后在 ion auth 想要使用它的_render_page函数的情况下,我不理会这些函数,但将_render_page函数本身更新为:

function _render_page($view, $data=null, $render=false)
{
    $this->viewdata = (empty($data)) ? $this->data: $data;      
    $this->viewdata['contents'] = $view;                
    $view_html = $this->load->view('site_template', $this->viewdata, $render);
    if (!$render) return $view_html;
}

主要改变它,我将一般的 site_template 插入到_render_page函数的内部视图调用中

于 2015-08-27T15:27:52.257 回答