2009-04-21 7 views
0

をして働いていないの両方が個別に作業している日付ピッカー(ZendX_JQuery_Form_Element_DatePicker)Zendのは、私は2つのデコレータ を使用していますZendX_JQuery_Form

を取得するには、なく、同じ時間

でエラー:

Warning: Exception caught by form: Cannot render jQuery form element without at least one decorator implementing the 'ZendX_JQuery_Form_Decorator_UiWidgetElementMarker' interface. Default decorator for this marker interface is the 'ZendX_JQuery_Form_Decorator_UiWidgetElement'. Hint: The ViewHelper decorator does not render jQuery elements correctly. 

私のGetフォーム機能:

$form = new Form_Job(); 
$form->setDecorators(Decorator::$formDecorators); 
$form->setElementDecorators(Decorator::$elementDecorators); 
$form->getElement('submit')->setDecorators(Decorator::$buttonDecorators); 

FormクラスForm_Job()

class Form_Job extends ZendX_JQuery_Form { 
    public function init() { 
     $element = new ZendX_JQuery_Form_Element_DatePicker('date_from'); 
     $element->setLabel('Campaign Period From :'); 
     $element->setRequired(true); 
     $element->setAttrib('size', '10'); 
     $element->setJQueryParam('dateFormat', 'yy-mm-dd'); 

     $this->addElement($element); 
    } 
} 

私はhttp://framework.zend.com/manual/en/zend.form.decorators.html

jQuery Decorators: Beware the Marker Interface for UiWidgetElements

By default all the jQuery Form elements use the ZendX_JQuery_Form_Decorator_UiWidgetElement decorator for rendering the jQuery element with its specific view helper. This decorator is inheritly different from the ViewHelper decorator that is used for most of the default form elements in Zend_Form. To ensure that rendering works correctly for jQuery form elements at least one decorator has to implement the ZendX_JQuery_Form_Decorator_UiWidgetElementMarker interface, which the default decorator does. If no marker interface is found an exception is thrown. Use the marker interface if you want to implement your own decorator for the jQuery form element specific rendering.

からこのヘルプを得た。しかし、私はこれを実装するコードが必要、提案してください

答えて

1

は私の答えを得た: -

私は使用しました

public static $formJQueryElements = array(
     array('UiWidgetElement', array('tag' => '')), // it necessary to include for jquery elements 
     array('Errors'), 
     array('Description', array('tag' => 'span')), 
     array('HtmlTag', array('tag' => 'td')), 
     array('Label', array('tag' => 'td', 'class' =>'element')), 
     array(array('row' => 'HtmlTag'), array('tag' => 'tr')), 
); 
$form->getElement('jq_date')->setDecorators(Decorator::$formJQueryElements); 

これは表の整列、jquery要素のためにうまくいく!!!!!

関連する問題