传递变量到视图,kohana 3.3不工作,未定义变量:

时间:2014-05-18 14:14:08

标签: variables kohana

我有一个愚蠢的问题...为什么我传递e变量来查看浏览器返回我  未定义的变量: ?我只是克隆了我的第一种方法(对于广告,同样的程序)。但是由于广告有效,并且类别不起作用,这太愚蠢了,为什么呢? 我展示了我的小应用程序

我的控制员:

<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Ads extends Controller_Template {

    public $template = 'template';

    // function indes Ads
    public function action_index()
    {
        $ads = ORM::factory('ads')->find_all(); // load all object inside ads table

        $view = new View('ads/index');  // load the view/ads/index.php
        $view->set('ads', $ads);        // set 'ads' object to view

        $this->template->set('content', $view);
    }

    // view single ads
    public function action_single()
    {
        $id = $this->request->param('id');
        $record = ORM::factory('ads')
        ->where('id_ads', '=', $id)
        ->find();

        $view = new View('ads/single');
        $view->set('ads', $record);         

        $this->template->set('content', $view);
    }

    public function action_category()
    {
        $category = ORM::factory('category')->find_all(); 

        $view = new View('ads/index');  
        $view->set('category', $category);      

        $this->template->set('content', $view);
    }

} // End Ads

我的兴趣观点(ads / index.php)

    <?php foreach ($ads as $obj) : ?>
        <h3><?php echo HTML::anchor('/ads/single/'.$obj->id_ads, $obj->title_ads); ?></h3>
        <p><?php echo $obj->description_ads; ?></p>
        <p>Autore: <?php echo $obj->author_ads; ?> || creato il <?php echo $obj->date_ads; ?> || categoria: <?php echo HTML::anchor('#', $obj->category->category_name); ?></p>
    <?php endforeach; ?>
<?php foreach ($category as $obj) : ?>
    <?php echo $obj->id; ?>
<?php endforeach; ?>

浏览器中的错误

ErrorException [ Notice ]: Undefined variable: category

为什么只针对类别?而不是广告?

1 个答案:

答案 0 :(得分:0)

只有一个动作函数可以运行 这意味着在action_index() $ads变量正在设置但不是$category。 在action_category()中,$ category变量正在设置,但不是$ads

如果您只希望使用这些变量,则应创建另一个ads / category.php视图并在action_category()函数中使用该视图,并删除该视图中对$ads的引用。< / p>

此外,您似乎期望action_category()函数正在运行,根据您看到的错误,它实际上正在运行action_index()。检查您的路线以找出原因。