2

我正在尝试在编辑表单中添加图像字段的预览:

/**
* @ORM\Column(name="firma",type="string", length=500,nullable=true)
*/
private $image;

和德简介:

public function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        ->add('image',null,array(
                'label'=>'forms.labels.firma'
            ))

在 show 方法中很简单,创建模板,但我没有找到解决方案,谢谢!

奏鸣曲管理捆绑版本:2.0

4

2 回答 2

2

您可以覆盖 SonataAdmin 的 base_edit.html 模板。为此,您必须在您的实体管理员中添加:

public function getEditTemplate()
{
    return 'YourBundle:Sonata:base_edit.html.twig';
}

然后,复制新模板,与原始base_edit.html模板相同。打印表格的地方是:

{% for name, form_group in admin.formgroups %}
    <fieldset {% if form_group.collapsed %}class="sonata-ba-fielset-collapsed"{% endif %}>
        <legend>
            {% if form_group.collapsed %}
                <a href="" class="sonata-ba-collapsed" title="{% trans from 'SonataAdminBundle' %}link_expand{% endtrans %}">{{ name|trans({}, admin.translationdomain) }}</a>
            {% else %}
                {{ name|trans({}, admin.translationdomain) }}
            {% endif %}
        </legend>

        <div class="sonata-ba-collapsed-fields">
            {% for field_name in form_group.fields %}
                {% if admin.formfielddescriptions[field_name] is defined %}
                    {{ form_row(form[field_name])}}
                {% endif %}
            {% endfor %}
        </div>
    </fieldset>
{% endfor %}

然后,您可以在表单中添加自己的代码。变量名是表格每个图例的名称,所以你可以放你自己的代码和你想要的图例;)

于 2013-05-16T11:22:28.013 回答
1

对于较新版本的奏鸣曲,请使用:

public function getTemplate($name)
{        
    switch ($name) {
        case 'edit':
            return 'YourBundle:Sonata:base_edit.html.twig';
            break;
        default:
            return parent::getTemplate($name);
            break;
    }
}
于 2014-01-08T16:43:45.513 回答