2010-12-02 13 views
8

विचार करें कि मैंज़ेंड फॉर्म विवरण के साथ कस्टम HTML टैग कैसे जोड़ें

चेकबॉक्स, चेकबॉक्स लेबल और उसके बाद एक छवि प्रदर्शित करना चाहता हूं।

कैसे के रूप में

$this->addElement(
      'Checkbox', 
      "$key", 
      array(
      'label'=>$value, 
       'checkedValue' => "$key", 
       'uncheckedValue' => '', 
       'checked' => true, 
      'disabled' => false, 
     ) 
     ); 

    $element = $this->getElement($key);   


     $element->setDecorators(
    array(
    'ViewHelper', 
    array('Label', array('tag' => 'dt', 'class'=>'hidden')), 
    array('Description',array('escape'=>false,'tag'=>' span')), //escape false because I want html output 
    ) 
    ); 

    $element->setDescription('<img name="help_'.$key.'" id="help_'.$key.'" src="/application/modules/User/externals/images/what-is-this.gif"/>'); 

$element->setDescription('<img name="help_'.$key.'" id="help_'.$key.'" src="/application/modules/User/externals/images/what-is-this.gif"/>'); 

इस प्रकार है लेकिन मैं एक ही जेंड इंजन फार्म का उपयोग कर

मैंने कोशिश के लिए एक दृश्य बना सकते हैं जो सुपरस्क्रिप्ट के रूप में चेकबॉक्स, विवरण छवि और चेकबॉक्स लेबल दिखा।

किसी भी मदद कृपया

उत्तर

2

चेक बाहर AnyMarkup Decorator

आप उस सजावटी को अपनी तत्व सजावट सूची में जोड़ सकते हैं, जो छवि के लिए एक ऐपेंड स्थिति के साथ मार्कअप निर्दिष्ट कर सकता है।

19
$element->getDecorator('Description')->setEscape(false); 

यह विवरण सामग्री से बचने से रोक देगा।

+0

+1 यह काम करता है! AnyMarkup सजावट के लिए जाने की जरूरत नहीं है। – emaillenin

+1

यह भी जानना उपयोगी है कि यदि आप विवरण सेट को सीधे फॉर्म पर सेट करना चाहते हैं ($ यह), तो आप $-- getDecorator ('description') -> setOption ('escape', false) का उपयोग कर सकते हैं; – danronmoon

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