Добавление тегов Html в функцию продукта

Добавление тегов Html в функцию продукта

25.10.2018 03:43:30 Просмотров 61 Источник

Мне нужно сохранить теги html в разделе функций на странице создания / редактирования продукта.

Я изменил TYPE_HTMLи isCleanHTMLв классах / FeatureValue.php, но проверка по-прежнему игнорирует HTML-теги.

Экс.

'value' => array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 255),

Спасибо.

См. пример

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/52989579/add-html-tags-in-product-feature#comment92884391_52989579
Я использую Prestashop.1.7
https://stackoverflow.com/questions/52989579/add-html-tags-in-product-feature#comment92885568_52989579
Хорошо. Но нам нужен какой-то код для работы.

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

Является ответом!
Divyesh Prajapati

26.10.2018 03:38:09

Вы должны использовать definitionFeatureValue и изменить его, чтобы он мог сохранить 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.

Надеюсь, это поможет вам!

https://stackoverflow.com/questions/52989579/add-html-tags-in-product-feature/53008917#comment93123914_53008917
Это сработало. Спасибо Divyesh Праджапати
Закрыть X