2011-12-06 20 views
6

डिफ़ॉल्ट रूप से एक form_row(form.name) की तरह कुछ के रूप में प्रदान की गई है:Symfony में form_row व्यवहार बदलने के लिए कैसे 2/टहनी

<div><label for="form_name" class=" required">Name</label><input type="text" id="form_name" name="form[name]" required="required" maxlength="45" value=""></div> 

कैसे/जहाँ मैं उदाहरण के लिए करने के लिए form_row() के व्यवहार को बदल सकते हैं:

<div class="someClassName"><label for="form_name" class=" required">Name</label></div><div class="someOtherClassName"><input type="text" id="form_name" name="form[name]" required="required" maxlength="45" value=""></div> 
+0

[फॉर्म रेंडरिंग को कस्टमाइज़ करने के लिए कैसे करें] (http://symfony.com/doc/current/form/form_customization.html#cookbook-form-theming-methods) – Trix

उत्तर

17

आप यह यूआरएल देख सकते हैं: http://symfony.com/doc/2.0/cookbook/form/form_customization.html#cookbook-form-theming-methods

form_row() को अनुकूलित करने के बारे में एक अनुच्छेद है।

यहां एक साधारण उदाहरण है।

TWIG:

{{ form_row(form.email, { 'label' : 'Your email address' }) }} 

HTML:

<div> 
    <label for="register_email" class=" required">Your email address</label> 
    <input type="email" id="register_email" name="register[email]" required="required" /> 
</div> 

तो, डॉक्स के अनुसार, आप एक नया टहनी बना सकते हैं डिफ़ॉल्ट रूप से, form_row() इस तरह एक साधारण एचटीएमएल संरचना बनाने होगा टेम्पलेट, और फ़ील्ड और लेबल के आस-पास कक्षा = "form_row" जोड़ें। यह YourBundle/विचारों/प्रपत्र/fields.html.twig में वहाँ में रखें और डाल निम्नलिखित कोड:

{% block field_row %} 
<div class="form_row"> 
    {{ form_label(form) }} 
    {{ form_errors(form) }} 
    {{ form_widget(form) }} 
</div> 
{% endblock field_row %} 

अपने टेम्पलेट फ़ाइल में, निम्न पंक्ति जोड़ें: अब form_row

{% form_theme form 'YourBundle:Form:fields.html.twig' %} 

, आपके द्वारा बनाई गई है कि फ़ाइल से टेम्पलेट का उपयोग किया जाएगा, और निम्न HTML कोड वापस आ जाएगी:

<div class="form_row"> 
    <label for="register_email" class=" required">Email</label>   
    <input type="email" id="register_email" name="register[email]" required="required" /> 
</div> 

आशा है कि यह मदद करता है।

+1

आप सही हैं, अपडेट किया गया जवाब दें। – mkrowiarz

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