2012-11-13 17 views
7

मेरे पास एक इकाई के लिए एक सिम्फनी 2 संपादन फ़ॉर्म है और फ़ील्ड में से एक उपयोगकर्ता की प्रोफ़ाइल तस्वीर के लिए है।सिम्फनी 2 और ट्विग - थीमिंग फ़ाइल अपलोड विजेट

मैं टवीग फ़ाइल अपलोड विजेट को थीम करने की कोशिश कर रहा हूं ताकि फ़ील्ड के लिए वर्तमान चित्र सेट फ़ाइल इनपुट के ऊपर प्रदर्शित हो।

अब तक, मेरे पास है:

{% form_theme edit_form _self %} 
{% block field_widget %} 
    {% set type = type|default('text') %} 

    {% if type == 'file' %} 
     <img src="{{ value }}" /> 
    {% endif %} 

    {{ block('form_widget_simple') }} 
{% endblock %} 

सभी सिवाय इसके कि मूल्य चर खाली है (जो भावना मुझे लगता है कि बनाता है) अच्छी तरह से काम करता है।

मेरा सवाल है कि मैं फ़ाइल के पथ को कैसे पकड़ सकता हूं? क्या फ़ील्ड के लिए फॉर्म वैल्यू से इसे चुनने का कोई तरीका है? क्या मैं इसे मैदान के विकल्प के रूप में पारित कर सकता हूं?

SRZ अगर यह एक मूक सवाल है, अभी भी बहुत Symfony और टहनी के लिए नई है ..

उत्तर

0

तो ऐसा लगता है कि मैं Symfony सामान के लिए googling पर भयानक रहा हूँ। अंत में मुझे सिम्फनी कूकबुक का यह हिस्सा मिला: http://symfony.com/doc/master/cookbook/form/form_customization.html

सिम्फनी 2 इसे एक फॉर्म टाइप एक्सटेंशन कहते हैं और वे वास्तव में फ़ाइल विजेट में उनके उदाहरण के रूप में एक छवि टैग जोड़ने का उपयोग करते हैं।

+2

मुझे लगता है कि उन्होंने वहां उदाहरण हटा दिया है। मैंने इसे http://symfony.com/doc/current/cookbook/form/create_form_type_extension.html – sglessard

5

फ़ाइल विजेट को अनुकूलित करने के

{% block file_widget %} 
    {% spaceless %} 
    //Your custom content here 
    {% endspaceless %} 
{% endblock file_widget %} 

उदाहरण के लिए होगा एक बेहतर तरीका:

{% block file_widget %} 
    {% spaceless %} 
    <td>{% set type = type|default('file') %} 
     <input type="{{ type }}" {{ block('widget_attributes') }} /> 
    </td> 
    {% endspaceless %} 
{% endblock file_widget %} 

याद रखें कि "{% अपार%}" बहुत महत्वपूर्ण

+0

में पाया है, मैंने डिफ़ॉल्ट टेम्पलेट्स में भी 'स्पेसलेस' का उपयोग किया है। लेकिन मुझे अभी भी पता नहीं है कि यह क्यों महत्वपूर्ण है। विस्तृत करने के लिए परवाह? – Taylan

+1

@ टायलान परिणामस्वरूप आउटपुट से सफेद रिक्त स्थान को हटाने वाला है। यह एक बड़ा सौदा नहीं होना चाहिए, लेकिन मैंने अजीब व्यवहार देखा है या यहां तक ​​कि काम नहीं करते समय भी काम नहीं कर रहा है। यह है कि twig ने http://twig.sensiolabs.org/doc/tags/spaceless.html कहा है, लेकिन फिर भी, रिक्त स्थान को हटाने के बारे में भी है, मुझे अजीब व्यवहार नहीं हुआ है जब नहीं। –

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