微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何覆盖实体类以向导入类型的下拉列表添加新选项? PrestaShop 1.7

如何解决如何覆盖实体类以向导入类型的下拉列表添加新选项? PrestaShop 1.7

我想开发一个模块,该模块将从自定义 *.svg 文件中导入产品,该文件不在用于导入的示例文件中。为此,我想添加一个选项,用于在下拉菜单“导入类型”中选择导入类型。 但是这个下拉列表是从最终的类 src/Core/Import/Entity.PHP 构建的,其中所有的导入类型都是硬编码的,并使用常量定义。

我是否正确理解为了实现我的目标,我必须覆盖这个类,或者可以通过其他方式引入它?

解决方法

确实在这种情况下必须修改文件: src/Core/Import/File/FileUploader.php 第 129 行: 替换

if (!preg_match('#([^\.]*?)\.(csv|xls[xt]?|o[dt]s)$#is',$uploadedFile->getClientOriginalName())) {

通过

if (!preg_match('#([^\.]*?)\.(svg|csv|xls[xt]?|o[dt]s)$#is',$uploadedFile->getClientOriginalName())) {

问候

,

你没听懂,抱歉,我可能没解释清楚,因为英语不好。我会试着再解释一遍。在导入页面的管理面板中,导入的第一步是选择导入类型。我们通过选择下拉菜单中的项目之一来完成此操作。在这个下拉菜单中只有 9 个项目,每个项目对应于示例中显示的特定 .svg 文件。但后来我想添加另一个 .svg 文件,用于导入,与其他文件不同。为了能够使用新的文件类型进行导入,用户必须能够在下拉列表中选择合适的类型。因此,在解决我的问题的第一阶段,我只需要再添加一个项目到下拉列表,它将对应于新的导入类型。但问题是这个下拉列表是建立在最终类 src/Core/Import/Entity.php 的基础上的,其中所有类型的导入都是通过常量硬编码的。 >

所以我的问题是,我应该覆盖这个类以添加另一种类型的导入,还是可以通过其他方式解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。