在fields.yaml中设置richeditor字段的默认值(上下文:创建)

时间:2019-06-25 09:10:45

标签: yaml octobercms

我需要的是在创建模型后发送电子邮件之前对其进行编辑的可能性。电子邮件已经在/ system / mailtemplates下创建,我只需要将其放置在richeditor中即可。

我的fields.yaml文件如下:

    [...]
    _email_contents:
        type: richeditor
        size: huge
        tab: 'Add licenses'
        default: acme.license::mail.license_granted
        context:
            - create
        trigger:
            action: show
            field: _send_email_to_admin
            condition: checked

那么如何将电子邮件模板 acme.license :: mail.license_granted 放入默认值?

此:默认:acme.license :: mail.license_granted 只是在richeditor中回显“ acme.license :: mail.license_granted”,而不是电子邮件模板的内容。

1 个答案:

答案 0 :(得分:0)

我没有像使用yaml文件那样扩展控制器,就像这样:

    public function formExtendFields($form)
{

    $email_template = \System\Models\MailTemplate::findOrMakeTemplate('acme.plugin::mail.license_granted');


    $form->addFields([
        '_email_contents' => [
                'type' => 'richeditor',
                'size' => 'huge',
                'tab' => 'Add licenses',
                'default' => $email_template->content_html,
                'context' => 'create',
                'trigger' => [
                    'action' => 'show',
                    'field' => '_send_email_to_admin',
                    'condition' => 'checked'
                ]
            ]
    ]);
}

这样,我可以将电子邮件模板作为默认值发送。几乎可以解决我的问题-几乎是因为电子邮件模板已从html标签中剥离出来了……但这是另一个问题。