Добавить настраиваемое поле PrestaShop 1.6 - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь добавить настраиваемое поле (текстовое поле HTML) в раздел администратора на странице продукта.Я следую за некоторыми ответами на этом форуме и в Google.

Это мой код в override/classes/Product.php классе:

class Product extends ProductCore{

public $product_modal;

function __construct( $id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null ) {

    Product::$definition['fields']['product_modal'] = array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isString');
    parent::__construct( $id_product, $full, $id_lang, $id_shop, $context );
}

Это в файле informations.tpl:

<div class="form-group">
    <label class="control-label col-lg-3" for="product_modal">
        <span class="label-tooltip" data-toggle="tooltip"
              title="{l s='Product modal'}">
            {$bullet_common_field} {l s='Product modal'}
        </span>
    </label>
    <div class="col-lg-3">
        <input type="text" id="product_modal" name="product_modal" value="{$product->product_modal|escape:'html':'UTF-8'}" />
    </div>
</div>

Я вижу новое поле на странице администратора продукта, но когда я пытаюсь сохранить, я получаю эту ошибку:

Произошла ошибка при обновлении объекта.product ()

Как добавить новое поле на странице продукта, и есть ли стандартный способ PrestaShop сделать это поле похожим на текстовое поле поля описания или мне нужен сторонний плагин jQuery, например?

1 Ответ

0 голосов
/ 11 февраля 2019

Поля lang не связаны с таблицей ps_product, поля lang связаны с таблицей ps_product_lang, это ваша проблема.

...