2014-05-18 6 views
0

바보 같은 질문이 있습니다 ... 왜 변수를 전달하면 브라우저가 나를 반환합니까 정의되지 않은 변수 :? 난 그냥 내 첫 번째 방법 (광고, 동일한 절차)에 대한 복제. 그러나 광고가 작동하고 범주가 작동하지 않는 경우 이는 매우 어리 석습니다. 이유가 무엇입니까? 내가 내 작은 응용 프로그램을 보여변수를 전달하면 kohana 3.3이 작동하지 않습니다. 정의되지 않은 변수 :

내 컨트롤러 :

<?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 

내 관심보기 (광고/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 

이유 카테고리에 대해서만 ?? 광고가 아닌가요?

+0

나는 게시물을 편집했습니다 – user0111001101

답변

0

$ads 변수가 설정되어 있지만 $category이 아니기 때문에 이 실행됩니다. action_category()에 $ category 변수가 설정되어 있지만 $ads은 설정되어 있지 않습니다.

해당 변수 만 사용할 것으로 예상되는 경우 다른 ads/category.php보기를 만들어 action_category() 함수에서 사용하고 해당보기에서 $ads에 대한 참조를 삭제해야합니다.

또한보고있는 오류를 기반으로 action_category() 기능이 실행되고 있다고 가정하고 실제로는 action_index()을 실행하고있는 것으로 보입니다. 이유를 확인하려면 경로를 확인하십시오.

+0

당신의 도움에 감사드립니다, 메신저 해결! – user0111001101

+0

귀하의 질문에 답변이 있으면 답변을 수락 할 수 있습니까? –