html - 在产品功能中添加 Html 标签
问题描述
我需要在创建/编辑产品页面的功能部分保存 html 标签。
我已经更改TYPE_HTML
并isCleanHTML
在 classes/FeatureValue.php 中,但验证仍然忽略 html 标签。
前任。
'value' => array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 255),
谢谢你。
解决方案
您必须使用FeatureValuedefinition
并对其进行更改,以便它可以保存 HTML,并且需要更改保存产品自定义特征值的文件中的代码。我将使用Overrides ,而不是更改核心文件。
按照下面提到的步骤。
Product.php
1)在路径上创建文件文件override\classes
并将以下代码放入其中。这将保存HTML
在值字段中。
<?php
/**
* @override Product.php
*/
class Product extends ProductCore
{
/**
* Add new feature to product
*/
public function addFeaturesCustomToDB($id_value, $lang, $cust)
{
$row = array('id_feature_value' => (int)$id_value, 'id_lang' => (int)$lang, 'value' => pSQL($cust, true));
return Db::getInstance()->insert('feature_value_lang', $row);
}
}
FeatureValue.php
2)在路径上创建文件override\classes
并将以下代码放入其中。更改definition
以便它可以验证 HTML。
<?php
/**
* @override FeatureValue.php
*/
class FeatureValue extends FeatureValueCore
{
/**
* @see ObjectModel::$definition
*/
public static $definition = array(
'table' => 'feature_value',
'primary' => 'id_feature_value',
'multilang' => true,
'fields' => array(
'id_feature' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
'custom' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
/* Lang fields */
'value' => array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 255),
),
);
}
3)autoload
新创建的覆盖类文件;class_index.php
从var\cache\dev
和文件夹中删除文件var\cache\prod
。
希望对您有所帮助!
推荐阅读
- android - Android:FFmpeg 占用高内存/cpu 使用率导致崩溃
- r - 计算每年特定时间段的平均值
- javascript - 如何测试以下内容:使用 React JS - jest / 酶
- reactjs - TypeError:无法读取未定义的属性'url',无法从reactjs中的数组调用某些值
- python - 关于图数据结构的问题:元组集与字典
- kotlin - 将 Firestore 中的数据显示到 KOTLIN 中的三个 recyclerview 片段中,复合查询
- google-kubernetes-engine - Google Cloud Composer 区域 Kubernetes 集群
- sql - 计算每月 X 出现次数的表达式
- jquery - 在按钮上单击将数据从模型添加到新表单
- css - 在某个元素内的每个元素的字体大小上添加 1px