【问题标题】:Exporting all product fields in Prestashop 1.6?导出 Prestashop 1.6 中的所有产品字段?
【发布时间】:2015-03-04 22:13:34
【问题描述】:

我正在使用 Prestashop 1.6.0.9 并且当我上传了一个包含所有可能字段的 CSV 文件时。然后我在 BackOffice 中编辑了一些产品并将其全部保存。现在,当我单击导出图标时,它会提示我打开/保存一个 csv 文件。但是,当我打开它时 - 只有 ID、图像、名称、参考、类别、基本价格、最终价格、数量和状态字段被导出。我希望能够导出与我导入的文件类似的文件。可以吗?

【问题讨论】:

    标签: csv prestashop export-to-csv prestashop-1.6


    【解决方案1】:

    Prestashop 默认情况下不会导出任何更多信息,除了产品列表中显示的信息。

    该列表在 prestashop 中称为 fields_list。

    查看controllers/admin/AdminProductsController.php file

    在第 200 行左右,您会发现 fields_list 是如何生成的

    开始于 $this->fields_list = array();

    在该代码之上,您会发现一些 sql 查询,这些查询将通过连接各种表来获取必要的产品数据。

    您可以在选择查询中添加其他参数。

    我在选择查询中添加批发价格以导出所有产品的批发价格。

    $this->_select .= 'shop.`name` AS `shopname`, a.`wholesale_price`, a.`id_shop_default`, ';
    

    现在这个 fields_list 将显示在产品列表中,也将显示在 CSV 导出中。

    无需编写额外代码即可在导出 CSV 文件中添加 fields_list。

    【讨论】:

      【解决方案2】:

      是的。查看 AdminProductsController.php 并注意这已经针对某些字段完成。请记住,添加此字段将使其如果您不为自定义字段添加一些条件规则,它也可以在“产品”选项卡的管理面板中显示您所说的 webrama.pl 是什么意思??

      【讨论】:

        【解决方案3】:

        这不是最漂亮的方式(我的 PS 不太好,它的结构、覆盖等),但只需查看:controllers\admin\AdminProductsController.php。

        在第 150 行附近添加新的字段定义,例如:

        $this->fields_list['custom_field'] = array(
                    'title' => "Name from lang",
                    'havingFilter' => false,
                    'orderby' => false,
                    'search' => false
                );
        

        希望现在回答这个问题还为时不晚。 :)

        【讨论】:

        • 介意解释一下它的作用吗?
        • 当 PS 要收集产品数据以进行导出时,它会迭代 $this->fields_list 数组(通过 foreach)并尝试将您指定的所有此数组键('custom_field')分配给来自 ps_product 的字段数据表。
        • 所以我必须为要导出的每个字段复制+粘贴此代码?
        • 是的。查看 AdminProductsController.php 并注意这已经针对某些字段完成。请记住,如果您不为自定义字段添加一些条件规则,添加此字段将使其在产品选项卡的管理面板中也可见。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-26
        • 2014-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-09
        相关资源
        最近更新 更多