PrestaShop 在 CustomerMessage-> 消息中保存 HTML

PrestaShop save HTML in CustomerMessage->message

我在 PrestaShop 1.6.0.14 中进行自定义,我需要在员工回答客户话题时提供 HTML 编辑器。我完成了这一部分,我将在电子邮件中发送 HTML。

我的问题是要在历史记录中显示,我需要在历史记录中显示 HTML(有时员工会发送链接等)。为此,我需要能够在 customer_message table 的 message 字段中保存 HTML。当我转到 ObjectModel (classes/CustomerMessage.php) 的定义时,我看到了这个:

'message' =>            array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 65000),

正在清理 HMTL。所以我在 override/classes/CustomerMessage.php 创建了一个新文件,内容如下:

class CustomerMessage extends CustomerMessageCore
{

    public function __construct($id = null) {
        self::$definition['fields']['message'] = array('type' => self::TYPE_STRING, 'validate' => 'isAnything', 'required' => true, 'size' => 65000);

        parent::__construct($id);
    }

}

我相信这会覆盖 属性 允许我在此字段中保存 HTML。但它不起作用。我做错了吗?如果是这样,我该如何重新定义这个字段?

感谢您的帮助

您必须使用此设置:

self::$definition['fields']['message'] = array('type' => self::TYPE_HTML, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 65000);

类型应为 TYPE_HTML,并且不要更改验证 isCleanHtml,因为它会检查您不需要的 html 代码部分(例如 js、脚本、 iframe 等)

告诉我:)

PS:每次我们进行覆盖时,删除存储在cache文件夹

中的class_index.php