Action_Helper в отдельном модуле не загружается - PullRequest
1 голос
/ 28 июля 2011

Я следовал этой замечательной статье http://weierophinney.net/matthew/archives/246-Using-Action-Helpers-To-Implement-Re-Usable-Widgets.html,, но в настоящее время я не могу получить работу, мой упрощенный пример.

ПРОБЛЕМА PreDispatch не загружается .

Я создал новый модуль пользователь (есть также контроллер UserController ,я надеюсь, что это не испортит загрузку).

Я добавил два файла в user .

Bootstrap.php - под пользователем модуля

class User_Bootstrap extends Zend_Application_Module_Bootstrap {

public function initResourceLoader() {
    $loader = $this->getResourceLoader();
    $loader->addResourceType('helper', 'helpers', 'Helper');
}

protected  function _initHelpers() {
    Zend_Controller_Action_HelperBroker::addHelper(
        new User_Helper_HandleLogin()
    );
}

Новая папка в / user / helpers и классе HandleLogin.

class User_Helper_HandleLogin extends Zend_Controller_Action_Helper_Abstract {

protected $view;

public function preDispatch() {
    echo 'called';
    if (($controller = $this->getActionController()) === null) {
        return;
    }

    $this->createProfileWidget();
}

public function createProfileWidget() {
    if (!$view = $this->getView()) {
        return;
    }
    $view->user = '<h2>HELLO WORLD</h2>';
}

public function createLoginForm() {

}

public function getView() {
    if ($this->view !== null) {
        return $this->view;
    }

    $controller = $this->getActionController();
    $view = $controller->view;

    if (!$view instanceof Zend_View_Abstract) {
        return;
    }

    //$view->addScriptPath(dirname(__FILE__) .'/../views/scripts');
    $this->view = $view;
    return $view;
}

}

И, наконец, добавленные в layout.phtml выходные данные.

<?php echo $this->user ?>

1 Ответ

2 голосов
/ 28 июля 2011

работает init() функция User_Helper_HandleLogin работает? User_Bootstrap работает? :) может быть, вы забыли resources.modules[] = в config.ini?

...