Prestashop 1.7在管理产品页面

时间:2017-08-18 14:56:55

标签: php twig prestashop-1.7

我正在使用Prestashop 1.7.2.0,我想在“选项”选项卡中添加到后台产品页面。 我想添加一个额外的ean13字段,名为ean13_current_shop 这是我到目前为止所做的,但它不起作用。

在src / PrestaShopBundle / Form / Admin / Product / ProductOptions.php中 我在最初的ean13之后添加了:

->add('ean13_current_shop', 'Symfony\Component\Form\Extension\Core\Type\TextType', array(
        'required' => false,
        'error_bubbling' => true,
        'label' => $this->translator->trans('EAN-13 or JAN barcodez', [], 'Admin.Catalog.Feature'),
        'constraints' => array(
            new Assert\Regex("/^[0-9]{0,13}$/"),
        )
    ))

在src / PrestaShopBundle / Model / Product / AdminModelAdapter.php中: 也是在ean13之后:

'ean13_current_shop' => $this->product->ean13_current_shop,

在src / PrestaShopBundle / Resources / views / Admin / Product / form.html.twig中 也是在ean13字段之后:

<fieldset class="col-md-4 form-group">
                    <label class="form-control-label">
                      [spam-filter] form.step6.ean13_current_shop.vars.label [spam-filter]
                      <span class="help-box" data-toggle="popover"
                        data-content="[spam-filter] "This type of product code is specific to Europe and Japan, but is widely used internationally. It is a superset of the UPC code: all products marked with an EAN will be accepted in North America."|trans({}, 'Admin.Catalog.Help') [spam-filter]" ></span>
                    </label>
                    [spam-filter] form_errors(form.step6.ean13_current_shop) [spam-filter]
                    [spam-filter] form_widget(form.step6.ean13_current_shop) [spam-filter]
                  </fieldset>

还直接编辑了Product.php类。我补充道:

/** @var string Ean-13 barcode */
public $ean13_current_shop;

'ean13_current_shop' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isEan13', 'size' => 13),

我没有收到任何错误,也没有出现错误。我不知道在哪里编辑。 感谢

1 个答案:

答案 0 :(得分:0)

从Presta使用Symphony开始,就有大量的管理员缓存。请尝试在Chrome->应用程序->清除存储中打开开发人员工具,然后向下按“清除站点数据”。

从我看来,您还没有修改数据库。

ALTER TABLE ps_product ADD ean13_current_shop varchar(13) NULL DEFAULT ('x');

这应该显示输入内容。

确保在文件src / PrestaShopBundle / Model / Product / AdminModelAdapter.php中,您在[step6]部分中有了新字段。