Symfony 4.1-Sonata Admin-单个showmapper项的覆盖模板

时间:2018-07-16 07:18:40

标签: php symfony sonata-admin

我正在尝试覆盖这样的表演动作模板:

concat(cast(weekday(getdate()) as STRING),'_',cast(datepart(getdate(),'dd') as STRING ))

但是我收到这样的警告:

  

尝试加载模板时发生错误   “ smsShipments”字段的“ sms_shipment_list.html.twig”,   默认模板“ @ SonataAdmin / CRUD / base_show_field.html.twig”为   代替。

因此错误如下:

  

未捕获的PHP异常Twig_Error_Runtime:“已发生异常   呈现模板时抛出的异常(“警告:nl2br()期望   参数1为字符串,给定对象“)。在   C:\ xampp_7 \ htdocs \ project_name \ vendor \ sonata-project \ admin-bundle \ src \ Resources \ views \ CRUD \ base_show_field.html.twig   第23行

在Symfony 3.1中效果很好。 您能否提供替代方案来覆盖单个管理员的show元素或show action?

1 个答案:

答案 0 :(得分:1)

从此SonataAdminBundle guide on the official Symfony 4.x documentation中拉出,我发现您需要在templates/Namespace/sms_shipment_list.html.twig中使用树枝模板。

然后,然后在options参数中将其称为@App/Namespace/sms_shipment_list.html.twig

然后这样:

public function configureShowFields(ShowMapper $showMapper)
{
    $showMapper
        ->add('smsShipments',null, array(
            'template' => '@App/Namespace/sms_shipment_list.html.twig'
        ))    
}