1

次のエラーが表示されますが、その理由がわかりません。

Warning: Exception caught by form: Plugin by name 'TeamMember' was not found in the registry; used paths: Application_Decorator_: application/decorator/;decorator/ Zend_Form_Decorator_: Zend/Form/Decorator/

ここにあるドキュメントから作業しました:http://framework.zend.com/manual/1.12/en/zend.form.decorators.html

アプリケーション構成ファイルでは、名前空間が定義されていますappnamespace = "Application"

デコレータ ファイルは、application/decorators/TeamMember.phpに配置されました。

クラス名はApplication_Decorator_TeamMember

構築中、次の2行があります。

$element->addPrefixPath('Application_Decorator', 'application/decorators/', 'decorator');
$element->addDecorator('TeamMember');

フォームviewScriptには、次のものがあります。

echo $this->element->teamMember->renderTeamMember() . "<br />";
echo $this->element->teamMember->render() . "<br />";

最初の行はエラーを生成し、2 行目はラベルの末尾に「:」を追加せずにラベル付きの要素をレンダリングします。

4

1 に答える 1

1

答えは、アプリケーション構成ファイル内で指定された「ライブラリ」の場所であることが判明しました。それがベースディレクトリとして使用されました。そこにデコレータファイルを移動するか、ライブラリの場所を「アプリケーション」ディレクトリに設定する必要がありました。

于 2013-10-16T20:47:01.507 に答える