2013-04-01 4 views
0

J'ai un contrôleur qui ne rend pas de vue (le fichier est présent). Cela montre simplement une page blanche.Cakephp ne rend pas les vues

Également cela se produit uniquement sur le serveur de transfert - deux autres environnements de développement fonctionnent correctement.

Voici le code:

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'); 
    } 
} 

Pourquoi est-ce pas de travail? Parce que je n'ai aucune idée ...

MISE À JOUR: tout le code du contrôleur fonctionne correctement, il ne rend simplement rien. Dans d'autres méthodes de contrôleur - tout va bien, fonctionne parfaitement.

MISE À JOUR: problème résolu, merci à tout le monde :) c'était une erreur dans un fichier de vue.

+0

Avez-vous vérifié le journal des erreurs ou une console pour les erreurs? Peut-être ajouter des appels spécifiques error_log dans le contrôleur pour voir si vous y arrivez. – SomeSillyName

+0

Il n'y a pas grand-chose, principalement ceci: 'Standards strictes: redéfinir le constructeur déjà défini pour la classe Object' – t1gor

+0

Comparez la version de PHP sur la mise en scène avec celle de dev. Vous pouvez avoir une version que votre version de CakePHP ne supporte pas. – SomeSillyName

Répondre

-2

Compris: une erreur s'est produite dans un fichier de vue.

1

Votre $ catId existera toujours. Vous avez déclaré dans la fonction.

est peut-être plus utile mis à jour votre première si à

si (vide (catId $)) {...}


Avez-vous l'avez importé un autre modèle dans votre contrôleur? Comme: $ uses = array ('ShopCat', 'ShopProd');

ou utiliser App :: import ('modèle', 'ShopCat') avant $ this-> En

+0

Oui, c'est fait dans '__construct()' – t1gor