我使用的是Prestashop 1.7.2.0,我想在Options标签页中添加backoffice产品页面。我想要添加一个额外的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}$/"),
)
))在ean13之后的src/PrestaShopBundle/Model/Product/AdminModelAdapter.php:中:
'ean13_current_shop' => $this->product->ean13_current_shop,在src/PrestaShopBundle/Resources/views/Admin/Product/form.html.twig Also after 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),我没有从中得到任何错误,它也没有出现。我不知道还能在哪里编辑。谢谢
发布于 2019-01-16 21:27:54
从Presta使用Symphony开始,就有一个巨大的管理缓存。请尝试在Chrome ->应用程序->清除存储中打开开发人员工具,然后按下“清除站点数据”。
从我所看到的,你也没有修改数据库。
ALTER TABLE ps_product ADD ean13_current_shop varchar(13) NULL DEFAULT ('x');这应该会揭示输入。
确保文件src/PrestaShopBundle/Model/Product/AdminModelAdapter.php中的step6部分包含新字段。
https://stackoverflow.com/questions/45759664
复制相似问题