簡體   English   中英

無法在 symfony 奏鳴曲管理中的顯示操作字段中設置自定義數據

[英]Unable to set custom data in show action field in symfony sonata admin

我有一個顯示頁面,我想添加一個自定義值。

我嘗試做我在其他操作中所做的事情,即使用 data 鍵將數組添加到第三個參數,如下所示:

protected function configureShowFields(ShowMapper $showMapper)
{
    $showMapper
        ->add('name')                      
        ->add('dateEnd')
        ->add('example', null,
            array('data' => 'example value')
        )
    ;
}

在 configureListFields 操作中,這是有效的。 我已經使用 data 屬性注入了自定義值。

但是我仍然無法訪問show.html.twig文件中的關鍵示例。 它給了我這個錯誤

變量“示例”不存在。

我應該怎么做才能訪問樹枝文件中的這個自定義變量?

嘗試

{{ elements.elements.example.options.data }} 

在你的樹枝模板中

我使用了這個解決方案。 在 Admin 類的configureShowFields()方法中:

$showMapper
        ->with('Tab Name')
        ->add(
            'any_name',
            null,
            [
                'template' => 'Admin/Custom/any_name_show_template.html.twig',
                'customData' => $this->someRepository->getSomeEntityBy($field),
                'anotherCustomData' => $this->someService->getSomeDataBy($value),
            ]
        )
    ;

在自定義模板中,您可以通過field_description.options.<customFieldName>訪問自定義數據,因此對於提供的示例數據訪問器將是{{ field_description.options.customData }}{{ field_description.options.anotherCustomData }}

對於 Twig 模板中較短的字段名稱,您可以這樣做:

{% set customData = field_description.options.customData %}

並訪問自定義數據,如{{ customData }}

希望這會有所幫助並節省時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM