可在Symfony2中翻译的自定义表单模板

时间:2017-02-16 17:05:20

标签: forms symfony templates

我需要调整Translatable使用的默认表单模板,以便我可以插入一些自定义html,但仅限于某些情况。

目前,模板在config.yml中定义如下:

public class ViewModel : INotifyPropertyChanged
{

    private bool _isChecked;
    public bool IsChecked
    {
        get { return _isChecked; }
        set
        {
            _isChecked = value;
            OnPropertyChanged();
            //filter collection:
            LogEntries = allLogEntries.Where(x => x.ServerTime == SelectedDate).ToList();
        }
    }

    private List<LogEntry> _logEntries;
    public List<LogEntry LogEntries
    {
        get { return _logEntries; }
        set
        {
            _logEntries = value;
            OnPropertyChanged();
        }
    }

    //...

    public event PropertyChangedEventHandler PropertyChanged;
    protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
}

如果我将配置更改为指向我的自定义模板,则可以正常工作:

a2lix_translation_form:
  templating: "A2lixTranslationFormBundle::default.html.twig"

但是,这显然会在全局范围内更改模板,而我只需要更改一个特定的表单。如何让Translatable立即使用我的自定义模板?

1 个答案:

答案 0 :(得分:0)

也许正在使用

getDeferred
视图模板顶部的

有效吗?

来自文档:https://symfony.com/doc/current/form/form_customization.html#method-2-inside-a-separate-template