Добавление тегов Html в функцию продукта
Мне нужно сохранить теги html в разделе функций на странице создания / редактирования продукта.
Я изменил TYPE_HTML
и isCleanHTML
в классах / FeatureValue.php, но проверка по-прежнему игнорирует HTML-теги.
Экс.
'value' => array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 255),
Спасибо.


Ответы - Добавление тегов Html в функцию продукта / Add Html tags in Product Feature

26.10.2018 03:38:09
Вы должны использовать definition
FeatureValue и изменить его, чтобы он мог сохранить HTML, а также изменить код в файле, где он сохраняет значение пользовательского свойства продукта. Вместо изменения в основных файлах, я буду использовать переопределения .
Выполните следующие действия.
1) создайте файл Product.php
-файл по пути 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);
}
}
2) Создайте FeatureValue.php
-файл по пути 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
.
Надеюсь, это поможет вам!
