2011-03-13 2 views
1

임 Bootstrap.php에 JQuery와 (Zendx) 및보기 도우미를 초기화 할 수 없습니다 :JQuery와 (Zendx)를 초기화하고 Bootstrap.php (ZF : 1.10.8)에서 헬퍼를 볼 수없는

(ZF 1.10.8) 하지만 모든 컨트롤러의 init() 메소드에서 같은 것을 초기화 할 수 있습니다.

// 내 Bootstrap.php

<?php 

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap 
{ 

    protected function _initView() 
    { 
      $view = new Zend_View(); 
      $view->doctype('XHTML1_STRICT'); 
     $view->addHelperPath('Vapps/View/Helper/','Vapps_View_Helper'); 
     $view->addHelperPath('ZendX/JQuery/View/Helper','ZendX_JQuery_View_Helper'); 
      return $view; 
    } 
} 

는 다음 내가 사용하는 경우 다음과 같은 내가 간단한 컨트롤러를 실행할 때 오류가

Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'JQuery' was not found in the registry; used paths: Zend_View_Helper_: Zend/View/Helper/:/opt/lampp/htdocs/schooldir/application/views/helpers/' in /opt/lampp/htdocs/schooldir/library/Zend/Loader/PluginLoader.php:412 Stack trace: #0 /opt/lampp/htdocs/schooldir/library/Zend/View/Abstract.php(1174): Zend_Loader_PluginLoader->load('JQuery') #1 /opt/lampp/htdocs/schooldir/library/Zend/View/Abstract.php(610): Zend_View_Abstract->_getPlugin('helper', 'jQuery') #2 /opt/lampp/htdocs/schooldir/library/Zend/View/Abstract.php(336): Zend_View_Abstract->getHelper('jQuery') #3 [internal function]: Zend_View_Abstract->__call('jQuery', Array) #4 /opt/lampp/htdocs/schooldir/application/layouts/scripts/layout.phtml(29): Zend_View->jQuery() #5 /opt/lampp/htdocs/schooldir/library/Zend/View.php(108): include('/opt/lampp/htdo...') #6 /opt/lampp/htdocs/schooldir/library/Zend/View/Abstract.php(880): Zend_View->_run('/opt/lampp/htdo...') #7 /opt/lamp in /opt/lampp/htdocs/schooldir/library/Zend/Loader/PluginLoader.php on line 412 

내가 같은 오류가 발생하지 말아 내 컨트롤러에서 init().

class ViewhelperexampleController extends Zend_Controller_Action 
{ 


    public function init() { 

    $this->view->addHelperPath('ZendX/JQuery/View/Helper','ZendX_JQuery_View_Helper'); 
    $this->view->addHelperPath('Vapps/View/Helper/','Vapps_View_Helper'); 


    } 



    public function indexAction() 
    { 


    } 


} 

친절하게 도와주세요. 미리 감사드립니다.

resources.view.helperPath.ZendX_JQuery_View_Helper = "ZendX/JQuery/View/Helper" 
pluginPaths.ZendX_Application_Resource = "ZendX/Application/Resource" 

을 또는 당신이 당신의 정의를 필요로하는 경우에 "기존 뷰 객체"를 사용하려고 부트 스트랩 :

답변

1

당신은 (대신 initView 방법의) 당신의 application.ini에보기 도우미에 대한 설정을 추가 할 수 있습니다 :

protected function _initView() 
{  
    $this->bootstrap('view'); 
    $view = $this->getResource('view'); 
    $view->doctype('XHTML1_STRICT'); 

    // better use " instead of ' , seems to be an bug 
    $view->addHelperPath("Vapps/View/Helper/",'Vapps_View_Helper'); 
    $view->addHelperPath("ZendX/JQuery/View/Helper",'ZendX_JQuery_View_Helper'); 
    return $view; 
}