我在的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