Bir Zend_Form kullanırken nasıl kayıt defterine bir eklenti ekleyebilirsiniz?

1 Cevap php

Ben aşağıdaki gibi başlatılırken olduğum bir zend form var:

$ Form = new Form_XYZ ();

Ben böyle diyorum ki şeklinde bir gösterge grubu var:

    $form->addDisplayGroup($generalSettingsGroup,
                           'general',
                            array(
                                'legend' => 'General',
                                'disableDefaultDecorators' => true,
                                'decorators' => array(
                                                    'FormElements',
                                                    'FieldSet',
                                                     array('HtmlTag', 
                                                            array('tag' => 'div', 'class' => 'general')
                                                           )
                                                    )
                                )
                            );

Ben bu hatayı alıyorum:

    ArrayObject Object
    (
         [exception] => Zend_Loader_PluginLoader_Exception Object
         (
             [message:protected] => Plugin by name 'FieldSet' was not found in the registry;   used paths:Zend_Form_Decorator_: Zend/Form/Decorator/
             [string:private] => 
             [code:protected] => 0
             [file:protected] => /usr/share/pear/PEAR/Zend/Loader/PluginLoader.php
             [line:protected] => 406
             [trace:private] => Array
             ...................

Nasıl kayıt fieldset eklenti ekleyebilirsiniz? Ben varsayılan Zend_Form Fieldset dekoratör kullanıyorum.

1 Cevap

Oysa, garip bir şey var: birkaç alt formlar dahil olmak üzere ve bazıları üzerinde (sermaye S) fieldset için hata varsa sorun yok, fieldset içeren dekoratörler ayarlarken.

Bu bir küçük tüm diğerleri için sorunu çözmek gibi görünüyor.

Ayrıca, Zend (Zend_Form_Decorator_Fieldset) dan fieldset sınıfı yüklemek ve her şeyi sermaye S. ile çalışır olabilir

(Zend 1.11 ile test edilmiştir)