2013-04-01 4 views
0

У меня есть контроллер, который не отображает представление (файл присутствует). Он просто показывает пустую страницу.Cakephp not rendering views

Также это происходит только на промежуточном сервере - две другие среды разработки работают нормально.

Вот код:

function category($catId = null) 
{ 
    if (!isset($catId) || empty($catId)) { 

     $this->data['category'] = 'all'; 
     $this->data['categories'] = $this->ShopCat->find('all',array('order'=>array('ShopCat.title ASC'))); 

     $this->paginate = array(
      'limit' => 9, 
      'order' => array('ShopProd.featured DESC','ShopProd.title ASC') 
     ); 
     $this->data['products'] = $this->paginate('ShopProd'); 
    } else { 
     $catId = (int) $catId; 
     $this->ShopCat->id = $catId; 
     if (!$this->ShopCat->exists($catId)) $this->cakeError('error404'); 

     $this->data['category'] = $this->ShopCat->find('first', array('ShopCat.id' => $catId)); 
     $this->data['categories'] = $this->ShopCat->find('all',array('order'=>array('ShopCat.title ASC'))); 

     $this->paginate = array(
      'conditions' => array('ShopProd.shop_cat_id' => $catId), 
      'limit' => 9 
     ); 
     $this->data['products'] = $this->paginate('ShopProd'); 
    } 
} 

Почему это не работает? Причина У меня нет идей ...

UPDATE: весь код контроллера работает нормально, он просто ничего не отображает. В других методах управления - все отлично, отлично работает.

UPDATE: проблема решена, спасибо всем :) Это была ошибка в файле вида.

+0

Вы проверили журнал ошибок или консоль ошибок? Возможно, добавьте в контроллер определенные вызовы error_log, чтобы узнать, даже ли вы туда попали. – SomeSillyName

+0

Ther's no fatals, в основном это: 'Строгие стандарты: переопределение уже определенного конструктора для класса Object' – t1gor

+0

Сравните версию PHP с промежуточной версией на dev. У вас может быть версия, которую ваша версия CakePHP не поддерживает. – SomeSillyName

ответ

-2

Выяснено это - произошла ошибка в файле вида.

1

Ваш $ catId всегда будет существовать. Вы заявили в функции.

Может быть более полезным обновляют первым, если

если (пусто ($ CatID)) {...}


ли вы импортировали другую модель в контроллере? Вроде: $ uses = array ('ShopCat', 'ShopProd');

или использовать App :: импорт ('Model', 'ShopCat') перед $ this-> найти

+0

Да, это делается в '__construct()' – t1gor