2011-09-01 98 views
0

我正在学习Zend并尝试设置自定义视图,但我遇到了麻烦。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'); 
    } 
} 

该路径对于iphone.phtml视图是正确的。我不断收到此错误:

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 

我改变'setScriptPath''addScriptPath'并使其不再给出了错误,但完全忽略了$this->view->rendder

回答

3

$this->render()而不是$this->view->render()

0

除了yokoloko的回答,您错误处理配置不正确。它捕捉你的例外并尝试显示一个友好的错误,但你没有友好的模板设置。

您应该真的创建views/scripts/error/error.pthml模板,或再次为您的应用程序打开例外。 (对于development环境)。

resources.frontController.throwExceptions = true 

(或类似)