【问题标题】:Sonata Admin - How to add a link to a fieldSonata Admin - 如何向字段添加链接
【发布时间】:2021-02-18 11:42:25
【问题描述】:

我在 Sonata Admin 的表单上有一个字段:

protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        ->add('filePath', TextType::class, [
            'disabled' => true,
        ]);
}

protected function configureShowFields(ShowMapper $showMapper)
{
    $showMapper
        ->add('filePath');
}

这与存储文件路径的实体有关。

class User 
{
    /**
     * @ORM\Column(type="string", nullable=true)
     */
    private $filePath;

如何更新表单以便我能够单击该字段以便它在另一个选项卡中打开文件?

【问题讨论】:

    标签: php symfony sonata-admin


    【解决方案1】:

    您需要在configureShowFields 中为filePath 字段声明一个模板,这是您的案例的示例:

    protected function configureShowFields(ShowMapper $showMapper)
    {
        $showMapper
            ->add('filePath', null, [
                'template' => '@App/Admin/file_path_link.html.twig',
            ]);
    }
    

    还有@App/Admin/file_path_link.html.twig

    {% if value %}
    <a href="{{ value }}">click to download</a>
    {% else %}
    No file path
    {% endif %}
    

    【讨论】:

    • 谢谢,这适用于 configureShowFields。但是,如果我在 configureFormFields 上尝试此操作,我会收到错误 - 选项“模板”不存在。
    • formField 有点难,这里可以找到方法:stackoverflow.com/questions/14194148/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 2015-04-29
    • 2022-01-25
    • 2010-12-29
    • 1970-01-01
    相关资源
    最近更新 更多