2011-09-01 4 views
0

J'apprends Zend et j'essaie de définir une vue personnalisée, mais j'ai des problèmes.Vue personnalisée avec Zend

class AccountController extends Zend_Controller_Action 
{ 
    public function init() {} 

    public function indexAction() 
    { 
    $this->view->setScriptPath(APPLICATION_PATH . '/views/scripts/mobile/'); 
    $this->view->render('iphone.phtml'); 
    } 
} 

Le chemin est correct pour la vue iphone.phtml. Je continue à obtenir cette erreur:

Fatal error: Uncaught exception 'Zend_View_Exception' with message 'script 'error/error.phtml' not found in path (/Users/frankie/Websites/learn/zend/project1/application/views/scripts/mobile/)' in /Users/frankie/Websites/Libraries/ZendFramework-1.11.10/library/Zend/View/Abstract.php:988 Stack trace: #0 /Users/frankie/Websites/Libraries/ZendFramework-1.11.10/library/Zend/View/Abstract.php(884): Zend_View_Abstract->_script('error/error.pht...') #1 /Users/frankie/Websites/Libraries/ZendFramework-1.11.10/library/Zend/Controller/Action/Helper/ViewRenderer.php(900): Zend_View_Abstract->render('error/error.pht...') #2 /Users/frankie/Websites/Libraries/ZendFramework-1.11.10/library/Zend/Controller/Action/Helper/ViewRenderer.php(921): Zend_Controller_Action_Helper_ViewRenderer->renderScript('error/error.pht...', NULL) #3 /Users/frankie/Websites/Libraries/ZendFramework-1.11.10/library/Zend/Controller/Action/Helper/ViewRenderer.php(960): Zend_Controller_Action_Helper_ViewRenderer->render() #4 /Users/frankie/Websites/Libraries/ZendFr in /Users/frankie/Websites/Libraries/ZendFramework-1.11.10/library/Zend/Controller/Plugin/Broker.php on line 336 

J'ai changé 'setScriptPath'-'addScriptPath' et il ne donne plus l'erreur, mais ne tient pas tout à fait l'$this->view->rendder

Répondre

3

Il est $this->render() Et pas $this->view->render()

0

En plus de la réponse de yokoloko, votre la gestion des erreurs n'est pas configurée correctement. C'est attraper vos exceptions et essayer d'afficher une erreur amicale, mais vous n'avez pas les modèles amicaux mis en place.

Vous devez vraiment créer le modèle views/scripts/error/error.pthml, ou réactiver les exceptions pour votre application. (pour l'environnement development).

resources.frontController.throwExceptions = true 

(ou similaire)

Questions connexes