Как установить путь префикса для всех декораторов zend_form_element?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как установить путь префикса для всех декораторов zend_form_element?

Сообщение Anonymous »

В проекте Zend@1.12 я использую декораторы. < /p>
Эти декораторы зарегистрированы через: < /p>

Код: Выделить всё

elementPrefixPath.decorator.prefix = "My_Form_Decorator"
elementPrefixPath.decorator.path = "My/Form/Decorator/"
< /code>
Они существуют в этой папке, их можно найти большую часть времени. < /p>
Но теперь я сталкиваюсь с проблемой, что иногда путь префикса не установлен при рендеринге формы. Код>, но не может сказать Сейчас.)Plugin by name 'MyExistingAndWorkingDecorator' was not found in the registry;
used paths: Zend_Form_Decorator_: Zend/Form/Decorator/
< /code>
Ошибка дает понять, что декоратор будет искать только в: < /p>
Zend/Form/Decorator/
и не в каталоге my/form/decorator/. br />

Код: Выделить всё

Zend/Form/Element.php

/**
* Instantiate a decorator based on class name or class name fragment
*
* @param string $name
* @param null|array $options
* @return Zend_Form_Decorator_Interface
*/
protected function _getDecorator($name, $options)
{
$loader = $this->getPluginLoader(self::DECORATOR);

$loader->addPrefixPath('My_Form_Decorator', '/var/www/project/library/My/Form/Decorator/'); // I added this line, this should be set via config, yet somehow it is lost.

$class = $loader->load($name);
if (null === $options) {
$decorator = new $class;
} else {
$decorator = new $class($options);
}

return $decorator;
}
< /code>
И все же я не хочу изменять файл поставщика, конечно. < /p>
Мое предположение состоит Почему это не применяется / не потеряно. < / p>

Подробнее здесь: https://stackoverflow.com/questions/794 ... decorators
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»