我创建了一个模块以在产品表的管理中添加不同的字段,并且我对复选框的注册有疑问,我的其他输入效果很好。我看不出问题出在哪里。这是我的产品类别:
<?php
class Product extends ProductCore
{
public $solde_display;
public $only_marketplace;
public $on_vp;
public $boost_product;
public $price_market;
public $tagmodele;
public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null)
{
parent::__construct($id_product, $full, $id_lang, $id_shop, $context);
// Boolean
self::$definition['fields']['solde_display'] = array('type' => self::TYPE_BOOL);
self::$definition['fields']['only_marketplace'] = array('type' => self::TYPE_BOOL);
self::$definition['fields']['on_vp'] = array('type' => self::TYPE_BOOL);
self::$definition['fields']['boost_product'] = array('type' => self::TYPE_BOOL);
// Text
self::$definition['fields']['price_market'] = array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice');
self::$definition['fields']['tagmodele'] = array('type' => self::TYPE_STRING);
}
}
我的模板:
<div class="m-b-1 m-t-1">
<h2>{l s='Champs supplémentaires (Générale)' mod='overrideoptions'}</h2>
<div class="form-group">
<div class="col-lg-12 col-xl-5">
<div class="checkbox">
<label for="on_vp">
<input type="checkbox" name="on_vp" id="on_vp" value="1" {if $on_vp}checked="checked"{/if}>
Produit en Vente Privée
</label>
</div>
</div>
<div class="col-lg-12 col-xl-5">
<div class="checkbox">
<label for="solde_display">
<input type="checkbox" name="solde_display" id="solde_display" value="1" {if $solde_display}checked="checked"{/if}>
Solde display
</label>
</div>
</div>
<div class="col-lg-12 col-xl-5">
<div class="checkbox">
<label for="only_marketplace">
<input type="checkbox" name="only_marketplace" id="only_marketplace" value="1" {if $only_marketplace}checked="checked"{/if}>
Disponible uniquement en Place de marché !
</label>
</div>
</div>
<div class="col-lg-12 col-xl-5">
<div class="checkbox">
<label for="boost_product">
<input type="checkbox" name="boost_product" id="boost_product" value="1" {if $boost_product}checked="checked"{/if}>
Boost Product (Google Shopping)
</label>
</div>
</div>
</div>
<div class="form-group">
<label for="tagmodele">Tag modele</label>
<input type="text" class="form-control" name="tagmodele" id="tagmodele" placeholder="Tag modele" value="{$tagmodele}">
</div>
</div>
除了复选框之外,Tag模型的注册情况非常好。
感谢您的帮助
答案 0 :(得分:0)
也许为时已晚,但如果它可以帮助别人...
您需要覆盖以下文件override/controllers/admin/AdminProductsController.php
,并添加逻辑来保存您的复选框,例如
class AdminProductsController extends AdminProductsControllerCore
{
protected function copyFromPost(&$object, $table)
{
parent::copyFromPost($object, $table);
$object->solde_display = (int)Tools::getValue('solde_display');
$object->only_marketplace = (int)Tools::getValue('only_marketplace');
[...]
}
}