2012-06-06 3 views
0

Я не уверен, как добавить помощника Zend в мой проект.Назначить Zend View Helpers и JQuery для модулей

Мой проект выглядит следующим образом:

Project 
--application 
----configs 
----controllers 
----layouts 
----models 
----modules 
------content 
--------controllers 
----------Index 
--------forms 
--------models 
--------views 
----------filters 
----------helpers 
------------myHelper 
----------scripts 
------------index 
----views 

Мой загрузочный файл выглядит следующим образом:

<?php 

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { 

    protected function _initViewHelpers() 
    { 
     $view = new Zend_View(); 
     $view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper'); 
     $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer'); 
     $viewRenderer->setView($view); 
     Zend_Controller_Action_HelperBroker::addHelper($viewRenderer); 
    } 
} 

Мой загрузочный файл модуля выглядит следующим образом:

class Content_Bootstrap extends Zend_Application_Module_Bootstrap { 

    public function _initAutoload() { 
     $resourceLoader = $this->_resourceAuloloader; 

     $autoloader = new Zend_Application_Module_Autoloader(array('namespace' => 'Application', 
                    'basePath' => APPLICATION_PATH)); 

     Zend_Controller_Action_HelperBroker::addPath(
     APPLICATION_PATH . '/modules/content/controllers/helpers', 'Content_Controller_Helper_'); 

     return $autoloader; 
    } 

} 

И, наконец, мой файл application.ini выглядит так:

[production] 
phpSettings.display_startup_errors = 0 
phpSettings.display_errors = 0 
includePaths.library = APPLICATION_PATH "/../library" 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 
appnamespace = "Application" 
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
resources.frontController.params.displayExceptions = 0 

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

resources.db.adapter = "PDO_MYSQL" 
resources.db.params.host = "localhost" 
resources.db.params.username = "root" 
resources.db.params.password = "****" 
resources.db.params.dbname = "database" 

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/" 

resources.router.routes.contentroute.route = "/wms/content/:controller/:action/*" 
resources.router.routes.contentroute.defaults.module = content 
resources.router.routes.contentroute.defaults.controller = index 
resources.router.routes.contentroute.defaults.action = index 

autoloaderNamespaces[] = "ZendX" 

[staging : production] 

[testing : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 

[development : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 
resources.frontController.params.displayExceptions = 1 

Теперь у меня есть мнение, и в этой точке зрения я стараюсь называть свое имя сделал вид помощника MyHelper

class Content_View_Helper_MyHelper { 

    public function test() { 
     return 'test'; 
} 

Когда я пытаюсь и назвать это на мой взгляд, с помощью echo $this->test(); он дает мне ошибку

Плагин по названию 'test' не был найден в реестре; используемые пути: Content_View_Helper_: C:/WAMP/WWW/ГС/приложение/модули/содержание/просмотр \ хелперов/ ZendX_JQuery_View_Helper_: ZendX/JQuery/View/Helper/ Zend_View_Helper_: Zend/View/Helper/

Я попробовал googeling для ответа, но, к сожалению, ни один из представленных ответов не помог. Большинство из них сказали мне добавить вспомогательный путь через бутстрап или в application.ini, однако я получаю сообщение об ошибке JQuery ...

Так что я не понимаю, как это решить. возможные решения будут оценены :)

ответ

0

Вы должны использовать одно и то же имя для метода также на основе последнего имени префикса имени класса.

class Content_View_Helper_MyHelper { 

    public function MyHelper() { 
     return 'test'; 
} 

FYI: View Helpers

 Смежные вопросы

  • Нет связанных вопросов^_^