Как я могу установить шаблон, который отображается с пользовательским типом поля формы?

На самом деле я разрабатываю настраиваемый тип поля формы, который расширяет тип поля формы file. документация об этом еще не написана.

Я создал свое настраиваемое поле и зарегистрировал его как службу.

Пользовательский тип поля формы:

class CustomFileType extends AbstractType
{
    public function getParent(array $options)
    {
        return 'file';
    }

    public function getName()
    {
        return 'custom_file';
    }
}

Услуга:

<service id="form.type.custom_file" class="Namespace\CustomFileType">
    <tag name="form.type" alias="custom_file" />
</service>

Я могу использовать его как поле файла, но я не знаю, как установить шаблон, который будет отображаться с моим пользовательским полем.


person egeloen    schedule 22.08.2011    source источник


Ответы (1)


В шаблон, отображающий форму, вы можете включить это:

{% form_theme form _self %}

{% block custom_file_widget %}
  {# rendering of the widget goes here #}
{% endblock %}

Посмотрите, как создается файл form_div_layout.html.twig, и вы поймете основной механизм.

person futurecat    schedule 23.08.2011
comment
Большое спасибо! Работает блестяще :) - person egeloen; 23.08.2011