首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prestashop 1.7在管理产品页面上添加自定义字段

Prestashop 1.7在管理产品页面上添加自定义字段
EN

Stack Overflow用户
提问于 2017-08-18 22:56:55
回答 1查看 3.9K关注 0票数 0

我使用的是Prestashop 1.7.2.0,我想在Options标签页中添加backoffice产品页面。我想要添加一个额外的ean13字段,名为ean13_current_shop这就是我到目前为止所做的,但它不起作用。

在src/PrestaShopBundle/Form/Admin/Product/ProductOptions.php中,我在原始ean13之后添加了:

代码语言:javascript
复制
->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:中:

代码语言:javascript
复制
'ean13_current_shop' => $this->product->ean13_current_shop,

在src/PrestaShopBundle/Resources/views/Admin/Product/form.html.twig Also after ean13字段中:

代码语言:javascript
复制
<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类。我加了一句:

代码语言:javascript
复制
/** @var string Ean-13 barcode */
public $ean13_current_shop;

代码语言:javascript
复制
'ean13_current_shop' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isEan13', 'size' => 13),

我没有从中得到任何错误,它也没有出现。我不知道还能在哪里编辑。谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-01-16 21:27:54

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

从我所看到的,你也没有修改数据库。

代码语言:javascript
复制
ALTER TABLE ps_product ADD ean13_current_shop varchar(13) NULL DEFAULT ('x');

这应该会揭示输入。

确保文件src/PrestaShopBundle/Model/Product/AdminModelAdapter.php中的step6部分包含新字段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45759664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档