Назначьте модули Zend View Helpers и JQuery

Я не уверен, как правильно добавить помощник Zend View в мой проект.

Мой проект выглядит так:

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 / HPU / application / modules / content / views \ helpers / ZendX_JQuery_View_Helper_: ZendX / JQuery / View / Helper / Zend_View_Helper_: Zend / View / Helper /

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

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


person Björn    schedule 06.06.2012    source источник


Ответы (1)


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

class Content_View_Helper_MyHelper {

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

К вашему сведению: Просмотр помощников

person Venu    schedule 07.06.2012