Невозможно загрузить jQuery в проект Zend Framework - PullRequest
1 голос
/ 27 марта 2012

Я хочу загрузить jQuery в существующий проект, я уверен, что ZendX существует в extras / library внутри проекта библиотеки.

я добавляю эти две строки в application.ini

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

затем в файл начальной загрузки я добавляю этот метод

protected function _initViewHelpers() {
    $view = $this->getResource('view');
    $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
    $view->jQuery()->addStylesheet('/css/ui-lightness/jquery-ui-1.8.18.custom.css')
            ->setLocalPath('/js/jquery-1.7.1.min')
            ->setUiLocalPath('/js/jquery-ui-1.8.18.custom.min.js');
 }

и я уверен из пути к файлам jquery и css. и в layout.phtml я добавляю эту строку

 echo $this->jQuery;

но эта ошибка происходит

  Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'JQuery' was not found in the registry; 
used paths: ZendX_JQuery_View_Helper_: ZendX/JQuery/View/Helper/ Zend_View_Helper_: Zend/View/Helper/' in E:\GCC\ZendFramework-1.11.11\library\Zend\Loader\PluginLoader.php:412
 Stack trace: #0 E:\GCC\ZendFramework-1.11.11\library\Zend\View\Abstract.php(1182): Zend_Loader_PluginLoader->load('JQuery') 
 #1 E:\GCC\ZendFramework-1.11.11\library\Zend\View\Abstract.php(618): Zend_View_Abstract->_getPlugin('helper', 'jQuery') 
 #2 E:\GCC\ZendFramework-1.11.11\library\Zend\View\Abstract.php(344): Zend_View_Abstract->getHelper('jQuery')
 #3 [internal function]: Zend_View_Abstract->__call('jQuery', Array) 
 #4 C:\AppServ\www\zendApps\inspection\application\Bootstrap.php(38): Zend_View->jQuery()
 #5 E:\GCC\ZendFramework-1.11.11\library\Zend\Application\Bootstrap\BootstrapAbstract.php(669): Bootstrap->_initViewHelpers() 
 #6 E:\GCC\ZendFramework-1.11.11\library\Zend\Application\Bootstrap\BootstrapAbstract.php in E:\GCC\ZendFramework-1.11.11\library\Zend\Loader\PluginLoader.php on line 412

Ответы [ 2 ]

0 голосов
/ 04 апреля 2012

в вашем "layout.phtml" добавьте следующее:

$this->jQuery()->enable(); //enabling jquery
$this->jQuery()->uiEnable(); //enabling jquery-ui
echo $this->jQuery(); //

- ИЛИ -

в конце вашего "_initViewHelpers ()" добавить:

$view->jQuery()->enable(); //enabling jquery for all the views
$view->jQuery()->uiEnable(); //enabling jquery-ui for all the views

и затем в каждом вашем представлении или в разделе заголовка вашего макета:

<?php echo $this->jQuery(); ?> //dont forget the () or it will not recognize the helper
0 голосов
/ 27 марта 2012

Попробуйте echo $this->jQuery(); вместо jQuery.

Вам не нужно регистрироваться два раза по вспомогательному пути jQuery. Одного раза в application.ini должно быть достаточно.

Кроме того, перед тем, как получить ресурс из начальной загрузки, ВСЕГДА убедитесь, что этот ресурс был "загружен" ранее с помощью: $this->boostrap('view');.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...