2011-01-28 3 views
0

ZendX_JQueryが動作しないようです。ヘルパーパスはロードされないので、プラグインは登録されません。Zend_FrameworkにJQueryプラグインを登録できません。

protected function _initJqueryLoad() 
    { 

     $view = new Zend_View(); 
$view->addHelperPath('ZendX/JQuery/View/Helper', 'ZendX_JQuery_View_Helper'); 
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer(); 
$viewRenderer->setView($view); 
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer); 
//return $view; 
    } 

私の設定::私は、など ブートストラップ、設定に追加、ブートストラップファイルにこれを追加し、それをすべて試してみた

phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 

phpSettings.date.timezone = "GMT+2" 
includePaths.library = APPLICATION_PATH "/../library" 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 
autoloaderNamespaces[] = "JP_" 
autoloaderNamespaces[] = "ZendX_" 


resources.view.helperPath.JP_View_Helper = "JP/View/Helper" 
resources.view.helperPath.ZendX_JQuery_View_Helper = "ZendX/JQuery/View/Helper" 
autoloaderNamespaces[] = "Sozfo_" 


resources.session.save_path = APPLICATION_PATH "/data/sessions" 
resources.session.gc_maxlifetime = 18000 
resources.session.remember_me_seconds = 18000 

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules = "" 

エラーメッセージ:

Message: Plugin by name 'JQuery' was not found in the registry; used paths: JP_View_Helper_: JP/View/Helper/ JP_Controller_Helper_: JP/Controller/Helper/ Sozfo_View_Helper_: Sozfo/View/Helper/ : C:\Zend\Apache2\htdocs\LTSSP\application/helpers/ Zend_View_Helper_: Zend/View/Helper/ 
Stack trace: 

#0 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\View\Abstract.php(1174): Zend_Loader_PluginLoader->load('JQuery') 
#1 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\View\Abstract.php(610): Zend_View_Abstract->_getPlugin('helper', 'jQuery') 
#2 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\View\Abstract.php(336): Zend_View_Abstract->getHelper('jQuery') 
#3 C:\Zend\Apache2\htdocs\LTSSP\application\layouts\baklans.phtml(23): Zend_View_Abstract->__call('jQuery', Array) 
#4 C:\Zend\Apache2\htdocs\LTSSP\application\layouts\baklans.phtml(23): Zend_View->jQuery() 
#5 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\View.php(108): include('C:\Zend\Apache2...') 
#6 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\View\Abstract.php(880): Zend_View->_run('C:\Zend\Apache2...') 
#7 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\Layout.php(796): Zend_View_Abstract->render('baklans.phtml') 
#8 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\Layout\Controller\Plugin\Layout.php(143): Zend_Layout->render() 
#9 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\Controller\Plugin\Broker.php(331): Zend_Layout_Controller_Plugin_Layout->postDispatch(Object(Zend_Controller_Request_Http)) 
#10 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\Controller\Front.php(965): Zend_Controller_Plugin_Broker->postDispatch(Object(Zend_Controller_Request_Http)) 
#11 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch() 
#12 C:\Zend\Apache2\htdocs\LTSSP\library\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() 
#13 C:\Zend\Apache2\htdocs\LTSSP\public\index.php(51): Zend_Application->run() 

答えて

0

""代わりの''にヘルパーのパスを置くことです。

protected function _initJqueryLoad() 
{ 

    $view = new Zend_View(); 

    $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper"); 
    $view->jQuery()->addStylesheet('/js/jquery/css/ui-lightness/jquery-ui-1.7.2.custom.css') 
    ->setLocalPath('/js/jquery/jquery.php') 
    ->setUiLocalPath('/js/jquery-ui-1.7.3.custom.min.js'); 
    $view->jQuery()->enable(); 
ZendX_JQuery::enableView($view); 
return $view; 
} 

多少の不具合。これをバグとして投稿する必要があります。

+0

前のコードでは、新しい 'ViewRenderer'を作成し、' View'の別のインスタンスを作成しました。これは、二重引用符または一重引用符とは関係ありません。 – takeshin

+0

はい、それは当てはまりますが、他のViewRendererがなくても動作しませんでした。 –

0

あなたのZendXがforlderライブラリであると仮定すると、Bootstrap.phpに次のようにJQueryのビューヘルパーを登録することができます:

protected function _initJsqueryLoad() { 
    $this->bootstrap('view'); 
    $view = $this->getResource('view'); 
    $view->addHelperPath(APPLICATION_PATH . '/../library/ZendX/JQuery/View/Helper',  'ZendX_JQuery_View_Helper'); 
} 

設定の内容は必要ありません。それがあなたのために働くことを願っています。

+0

動作しませんでした。エラーメッセージで変更されたものはありません。 @Janis Peisenieks。 –

+0

あなたのapplication.iniにZendX、JQueryに関するすべてのものを試してみましたか? – Marcin

+0

うん、しかし、私はちょうど答えを見つけた。今すぐ投稿してください。 –

1

使用パス:JP_View_Helper_:JP /ビュー/ヘルパー/ JP_Controller_Helper_:JP /コントローラ/ヘルパー/ Sozfo_View_Helper_:Sozfo /ビュー/ヘルパー/:C:\ Zendの\ Apache2の\ htdocsに\ LTSSP \アプリケーション/ヘルパー/ Zend_View_Helper_ :Zend/View/Helper/

これに基づいて、ZendXディレクトリがスキャンされないことがあります。

  1. (例えばZend Frameworkのソースアーカイブからファイルをコピーしたり、include_pathZendXへのパスを追加)application.ini

オートローダーへのパスを追加します。ヘルパーブローカ

  • とパスを登録します。

    0123:index.php

    resources.view.helperPath.ZendX_JQuery_View_Helper = "ZendX/JQuery/View/Helper" 
    

    ビューで

    set_include_path(implode(PATH_SEPARATOR, array(
        '/home/user/www/library/ZendFramework/1.11.2/library', // Zend dir is here 
        '/home/user/www/library/ZendFramework/1.11.2/extras/library', // ZendX dir is here 
        '/home/user/www/library/misc', 
        get_include_path(), 
    ))); 
    

    :私のためにこれを解く何

    $this->jQuery()->enable(); 
    
  • 関連する問題