在产品功能中添加 Html 个标签
Add Html tags in Product Feature
我需要在 create/edit 产品页面的功能部分保存 html 标签。
我在 classes/FeatureValue.php 中更改了 TYPE_HTML
和 isCleanHTML
,但验证仍然忽略 html 标签。
例如。
'value' => array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 255),
谢谢。
See example
您必须使用 FeatureValue 的 definition
并更改它以便它也可以保存 HTML因为需要更改保存产品自定义功能值的文件中的代码。我将使用 Overrides[= 而不是更改 core files 42=].
按照下面提到的步骤进行操作。
1) 在路径 override\classes
上创建文件 Product.php
文件并将下面的代码放入其中。这将在值字段中保存 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);
}
}
2) 在路径 override\classes
上创建 FeatureValue.php
文件并将下面的代码放入其中。更改 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 个文件;从 var\cache\dev
和 var\cache\prod
文件夹中删除 class_index.php
文件。
希望对您有所帮助!
我需要在 create/edit 产品页面的功能部分保存 html 标签。
我在 classes/FeatureValue.php 中更改了 TYPE_HTML
和 isCleanHTML
,但验证仍然忽略 html 标签。
例如。
'value' => array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 255),
谢谢。
See example
您必须使用 FeatureValue 的 definition
并更改它以便它也可以保存 HTML因为需要更改保存产品自定义功能值的文件中的代码。我将使用 Overrides[= 而不是更改 core files 42=].
按照下面提到的步骤进行操作。
1) 在路径 override\classes
上创建文件 Product.php
文件并将下面的代码放入其中。这将在值字段中保存 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);
}
}
2) 在路径 override\classes
上创建 FeatureValue.php
文件并将下面的代码放入其中。更改 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 个文件;从 var\cache\dev
和 var\cache\prod
文件夹中删除 class_index.php
文件。
希望对您有所帮助!