ZF 1.12: Zend_Session :: start () исключение

У меня есть сложная HTML-форма с 10 вкладками на моем сайте. Когда пользователь переходит на страницу с методом формы getFormAction () называется

 public function getFormAction()
{
$productId = $this->_getParam('productId');

if (!empty($productId)) {

//Get model and populate form
//...
$form = new Form_OnixProduct2();
$form->populate($model);

} else {
$form = new Form_OnixProduct2();
}

$currentFeedFormSession = new Zend_Session_Namespace('currentFeedSession');

$currentFeedFormSession->form = $form;

$this->view->form = $form;

}}

В этом действии я инициализировал Zend_Form, сохранил его в переменной сеанса, и в представлении я выведу только одну первую вкладку. Все остальные вкладки отображаются с помощью запросов ajax — с призывом к действию outputOnixTabAction

  public function outputOnixTabAction()
{
$this->_helper->layout->disableLayout();

$tabName = $this->_getParam('tabName');

$currentFeedFormSession = new Zend_Session_Namespace('currentFeedSession');

$this->view->form = $currentFeedFormSession->form;
$this->view->tabName = $tabName;

}

Моя проблема в том, что отображается только первая вкладка. Когда я делаю ajax-запросы для отображения других вкладок, я получаю следующую ошибку:

Message: Zend_Session::start() - /otms/vendor/zendframework/zendframework1/library/Zend/Loader.php(Line:134): Error #2 include_once(): Failed opening 'Zend/View/Helper/OutputComplexForm.php' for inclusion

Хотя этот помощник успешно загружен в виде первой вкладки. Zend_Session :: start () start вызывается в моем пользовательском плагине контроллера — для каждого запроса я проверяю роль пользователя с помощью следующего кода:

    $auth = Zend_Auth::getInstance();

if($auth->hasIdentity()) {
$userRole = $auth->getIdentity()->user_type;
} else {
$userRole = 'guest';
}

и функция hasIdentity () приводит к команде Zend_Session :: start (true) в строке файла Zend / Session / Namespace.php 143.

Если у вас есть идеи, пожалуйста, поделитесь со мной.

UPD

Вот часть автозагрузчика из моей начальной загрузки:

    protected function _initAutoload()
{

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

return $loader;
}

UPD 2

Также я узнал, что если я переименую вспомогательный класс из

Zend_View_Helper_OutputComplexForm

в

My_View_Helper_OutputComplexForm

и добавить строку

resources.view.helperPath.My_View_Helper = APPLICATION_PATH "/views/helpers"

в файле application.ini все работает нормально. Но я не понимаю, что же такого особенного в префиксе Zend_?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]