在的Prestashop管理的编辑产品页面添加一个字段(add a field in edit pr

2019-07-21 20:50发布

我在的Prestashop数据库的产品表中添加一个字段“mystock”。 现在我想显示/编辑该栏编辑产品页面。 它也可以更新产品时会更新。

Answer 1:

这个过程需要一些步骤解决办法。 下面我列出了他们。

1)打开类/ Product.php。 将公共$ mystock; 在类属性列表,该班级已开始之后就可以看到。

2)下的文件,找到公共静态$定义=阵列(,这将是一个多头排列,找到“领域” =>阵列(在里面,在那里你会看到所有存放于验证数据库字段的数据类型等。请将您mystock那里阵列中的其他项目,并把正确的验证和数据类型,如放置等领域。

3)现在打开adminFolder /主题/默认/模板/控制器/产品/ informations.tpl,把你的场中的适当位置正确的名称和编号。 请注意,字段名/ ID都应该是相同的,如数据库字段名称,我们在Products.php类增加了一个。

这就是它,希望你能理解的过程,将使其工作。

谢谢



Answer 2:

这个工作对我来说在1.5.4的Prestashop

添加文件Product.php到\包含覆盖\类:

    <?php
    Product::$definition['fields']['mystock'] = array('type' => ObjectModel::TYPE_INT, 'validate' => 'isUnsignedInt');
    class Product extends ProductCore 
    { 
       public $mystock; 
    } 

...假设你需要一个字段中输入一个数字。

然后3)altafhussain的回答

不要忘了你的字段添加到数据库中,编号字段:
ALTER TABLE ps_product ADD mystock INT NOT NULL;



Answer 3:

我遇到了这篇文章,并建立在此基础上我的组件,它似乎是干净的解决方案: http://nemops.com/prestashop-products-new-tabs-fields/基本上它描述了如何做一个模块,它增加了多语言在产品的编辑页面上的自定义面板领域..

不需要编辑模板,核心文件或添加覆盖文件。



Answer 4:

在四个步骤最好的全面解决方案是:

1)添加一个文件Product.php到\含有倍率\类:

<?php
Product::$definition['fields']['mystock'] = array('type' => ObjectModel::TYPE_INT, 'validate' => 'isUnsignedInt');
class Product extends ProductCore 
{ 
   public $mystock; 
} 

2)开放adminFolder /主题/默认/模板/控制器/产品/ informations.tpl,把你的场中的适当位置正确的名称和编号。

3)删除文件缓存/ class_index.php

4)你的字段添加到数据库中,编号字段:

ALTER TABLE ps_product ADD mystock INT NOT NULL;

[由于Bell418 1)和4),并阿尔塔夫侯赛因2)]



Answer 5:

谢谢altafhussain。 你有你的字段添加到两个“products_shop”和“产品”表。

ALTER TABLE ps_product_shop ADD `mystock` int NOT NULL DEFAULT 0;
ALTER TABLE ps_product ADD `mystock` int NOT NULL DEFAULT 0;

我使用的是PS 1.6.0.6



文章来源: add a field in edit product page of prestashop admin