2012-11-13 32 views
7

Tôi có biểu mẫu chỉnh sửa Symfony2 cho một thực thể và một trong các trường là dành cho ảnh tiểu sử của người dùng.Symfony2 & Twig - tiện ích tải lên tệp phụ đề

Tôi đang cố gắng chủ đề tiện ích tải lên tệp Twig để hình ảnh hiện tại được đặt cho trường được hiển thị phía trên đầu vào tệp.

Cho đến nay, tôi có:

{% 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 %} 

Tất cả hoạt động tốt ngoại trừ việc biến giá trị là trống (mà làm cho tinh thần tôi đoán).

Câu hỏi của tôi là làm thế nào tôi có thể giữ đường dẫn đến tệp? Có cách nào để chọn nó ra khỏi các giá trị biểu mẫu cho trường không? Có lẽ tôi có thể vượt qua nó như là một lựa chọn cho lĩnh vực này?

Srz nếu đây là một câu hỏi ngớ ngẩn, vẫn còn khá mới để Symfony và cành ..

Trả lời

0

Vì vậy, có vẻ tôi là khủng khiếp tại googling cho Symfony thứ. Cuối cùng tôi đã tìm thấy phần này của sách dạy nấu ăn của Symfony: http://symfony.com/doc/master/cookbook/form/form_customization.html

Symfony2 gọi nó là Tiện ích mở rộng loại biểu mẫu và chúng thực sự sử dụng thêm thẻ hình ảnh vào tiện ích tệp làm ví dụ của chúng.

+2

Tôi đoán họ đã xóa ví dụ ở đó. Tôi tìm thấy nó trong http://symfony.com/doc/current/cookbook/form/create_form_type_extension.html – sglessard

5

Cách tốt hơn để tùy chỉnh widget tập tin sẽ được

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

Ví dụ:

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

Hãy nhớ rằng "{% chốn%}" là rất quan trọng

+0

Tôi đã nhìn thấy 'không gian 'đang được sử dụng trong các mẫu mặc định. Nhưng tôi vẫn không biết tại sao nó lại quan trọng. Chăm sóc để xây dựng? – Taylan

+1

@Taylan sắp xóa các khoảng trắng khỏi kết quả đầu ra. Đây không phải là một vấn đề lớn, nhưng tôi đã thấy hành vi kỳ lạ hoặc thậm chí không hoạt động khi không sử dụng nó. Đây là những gì twig nói http://twig.sensiolabs.org/doc/tags/spaceless.html nhưng một lần nữa, thậm chí chỉ là về loại bỏ không gian, tôi đã có hành vi kỳ lạ khi không. –

Các vấn đề liên quan