2009-07-28 7 views
10

मेरे रूप में मेरे पास यह कोड है;मैं सबमिट बटन से लेबल सजावट को कैसे हटा सकता हूं

// Add the submit button 
$element = $this->addElement('submit', 'submit', array(
    'ignore' => true, 
    'label' => 'Add new material' 
)); 
$element->removeDecorator('label'); 

हालांकि फॉर्म अभी भी टैग के बीच लेबल तत्व के साथ प्रस्तुत करता है।

मैं क्या गलत कर रहा हूं?

उत्तर

3

मुझे लगता है कि removeDecorator पर तर्क केस-संवेदी है। यानी, यह "Label" होना चाहिए # अपरकेस 'L' नोट करें।

+0

मैंने कोशिश की कि इससे कोई फर्क नहीं पड़ता। मैंने इसे किसी अन्य उत्तर में पाया, लेकिन ऐसा करने के लिए ऐसा प्रतीत नहीं होता है क्योंकि यह नहीं है कि दस्तावेज कैसे करता है यह कैसे करना है। $ element-> हटाएं डिटेक्टर ('डीटीडीडीवापर') -> एडडिटरेटर ('एचटीएमएलटैग', सरणी ('टैग' => 'डीडी')); हालांकि, एचटीएमएल से

तत्व को हटाने से भी मेरे मुख्य मुद्दे को हल नहीं किया गया है कि सबमिट बटन को बाईं ओर मुश्किल से स्थानांतरित करने में सक्षम नहीं है। –

+0

तो, आपने इसे बदल दिया: $ element-> हटाएं डिकोरेटर ('लेबल'); इसके लिए: $ element-> हटाएं डिटेक्टर ('लेबल'); और यह अभी भी काम नहीं किया? यदि ऐसा मामला शायद var_dump (getDecorators()) आज़माएं और चलिए वहां से चले जाएं। – g33kz0r

11

फ़ंक्शन addElement वर्तमान फ़ॉर्म का संदर्भ देता है जो अंतिम अतिरिक्त तत्व नहीं है।

आप इस कोशिश कर सकते:

$form = new Zend_Form(); 
$form->addElement('submit', 'submit', array(
    'ignore' => true, 
    'label'  => 'Add new material' 
)); 

$element = $form->getElement('submit'); 
$element->removeDecorator('label'); 
+0

भी Zend_Db_Element में कोई फ़ंक्शन addElement Zend_Db_Form है – Erik

1

इस उपद्रव मैं अपने तत्व के लिए मैन्युअल रूप सज्जाकार को परिभाषित कर रहा हूँ काबू पाने के लिए ...

$details->addElement('text', 'in_year', array(
    'decorators'=>array(
    'ViewHelper', 
    array('HtmlTag', array('tag' => 'span')), 
    ) 
)); 

आप निश्चित रूप से अपने खुद के टैग को परिभाषित कर सकते हैं। इस उदाहरण में मैं केवल "व्यूहेल्पर" सजावट शुरू करता हूं। मैं क्या मैं "लेबल" डेकोरेटर आरंभ करना चाहते हैं जाएगा:

$details->addElement('text', 'in_year', array(
    'decorators'=>array(
    'ViewHelper', 
    'Label', 
    array('HtmlTag', array('tag' => 'span')), 
    ), 
    'attribs' => array('class' => 'required validate-digits') 
)); 

मुझे आशा है कि यह समझ में आता है ...: ओ)

18

यह मेरे लिए काम किया:

$this->addElements(array( 
    new Zend_Form_Element_Submit('submit', array( 
    'label' => 'Save' 
)) 
)); 
$element = $this->getElement('submit'); 
$element->removeDecorator('DtDdWrapper'); 

मैंने किया print_r($element); यह जानने के लिए कि $element के लिए कौन से सजावटी मौजूद हैं।

संबंधित मुद्दे