从Codeigniter Template Partials读取数据时出现问题,以及使用控制器重定向

时间:2012-09-03 17:00:13

标签: php codeigniter templates redirect partials

我有两个不相关的Codeigniter问题:

(a)我正在尝试成功登录后将用户重定向到仪表板。即从控制器“auth”到控制器“仪表板”。由于一些奇怪的原因,它会一直重定向到auth / dashboard(404错误,因为它不存在)。

这就是我所做的:

//Within the auth controller    
    if ($this->auth->login($username, $password)) //Auth->login returns boolean
    {
    redirect('/dashboard', 'refresh');
    # redirect('/dashboard', 'location');  // I tried this too
    # redirect('/dashboard/index', 'refresh');   // I also tried this!
    }

我做错了什么,拜托?它只是保持重定向到auth / dashboard

(b)我正在使用Phil Sturgeon卓越的Codeigniter模板库(没有Parser),我无法接收发送到partials文件的数据。 partials文件只需要这些数据。我已经阅读了(遗憾的是稀疏的)库文档,关于该主题的S / O帖子,以及CI论坛无济于事,似乎没有明确的示例显示部分接收控制器分配给它的数据

这就是我一直这样做的。请告诉我我一定做错了什么。

// In the controller page
$this->data['user'] = array('info' => 'username', 'value' => 'Cogicero');
$this->data['prefs'] = array('foo' => 'bar');
$this->template
     ->set_partial('header', 'partials/header', $this->data)
     ->set_layout('blog')
     ->build('foobar_view');

        //In the header partials page
        <?php
        /* snip */
        print_r($data);
        print_r($prefs);
        print_r($user);
        echo $user["info"];
        echo $prefs["foo"];
        ?>

以上所有产生“数组不存在”或“未定义变量”错误!我打算如何在局部视图文件中接收数据?

由于

修改: 在一个紧迫的截止日期工作,所以没有解决方案,我不得不放弃Phil Sturgeon的模板库,而是选择Jens Segers。 http://www.jenssegers.be/blog/25/Codeigniter-template-library 它与Phil的有点相似,但由于某种原因,部分正在接收和正确地呈现我的数据。此外,Sergers的模板库有很好的文档记录。一切都很好,所以我会接受我自己对问题(a)的回答。谢谢大家。

1 个答案:

答案 0 :(得分:0)

(a)经过大量的摆弄,我解决了第一个问题,即重定向。

在配置文件中,我们有

| If this is not set then CodeIgniter will guess the protocol, domain and
| path to your installation.
|
*/
$config['base_url']=

显然,我没有设置基本URL,因为我还在开发本地服务器上,当我上传到测试服务器时,我打算将其设置为www地址。 Codeigniter一直在猜测,但猜测不适用于我的身份验证重定向。我设置了基本网址,所有重定向都很好。

(b)现在,看看为什么部分视图没有接收数据。有什么帮助吗? :(