利用Xtento利用XSLT’S订单导出Magento模块
利用Xtento利用XSLT’S订单导出Magento模块

利用Xtento利用XSLT’S订单导出Magento模块

2016年10月27日出版 in 发展
玛托托 2中的图标字体2:基础
玛托托的图标字体2:基础
2016年10月18日
用户验收测试:Magento 2
用户验收测试Magento 2站点
2016年11月16日

概述示例

在使用ERP集成或其他需要Magento申博娱乐的系统中以非常特定的格式进行使用时,存在几个选项。您可以编写自定义模块以处理将Magento申博娱乐直接转换为最终产品所需的格式,或者您可以使用已构建的模块。

最近我发现自己在客户拥有需要重新格式化申博娱乐的自定义ERP集成的情况下。此外,格式在Magento申博娱乐的格式之外非常有点。对于这样的情况,我转向使用Xtento订单导出,因为它具有XSLT选项。

这只会覆盖其中的XSLT部分。 Xtento. 有关于如何利用其产品的优秀文档。

IT中最简单的XSLT是一种语言,可以将XML转换为其他格式,例如其他格式的格式不同。

如果您有一些如下结构的XML:

也许你只想从本文件中获取宠物名称。以下XSLT代码将完成该目标。

上面的XSLT的输出如下,考虑到我们可以手动完成的申博娱乐样本的大小,并且它不会是一种压倒性的工作。

现在我们有一个工作的知识,以及我们可以实现什么样的结果的想法,让我们移动有点有用。我们将从可爱的Cats Inc.将Magento订单XML转换为他们的ERP预期的XML格式。

这是企业至关重要,因为人们需要他们可爱的猫图片来出去,因此从客户的角度来看越快。

出于以下示例的目的,我们将使用以下产品的订单:

以下是我们将与之合作的XML结构的示例。 Magento通过XML将其订单以可预测的方式存储。此示例不是精确的,但它足以追随我们的示例的目的。

我们尝试达到的格式就是这样的例子:

要完成此操作,我们将创建一个XSL模板,该模板将用于Magento的所有订单。定义了XSLT模板,以便在文档中提供要输出的XML预定义位置。

XSL模板的基本结构如下:

我们可以定义常量变量,这些可以保存字段分隔符,因为我所做的工作或想要保持不变的任何值,然后可以在整个XSLT模板中引用这些值。

使用简单字段

我计划使用该系统检查三个案例,该系统很有用,一个简单的示例,一个使用PHP本机功能的示例,以及使用自定义构建静态方法的更复杂的解决方案来将申博娱乐与管理字段进行比较。这种多层复杂度允许您根据需要更改申博娱乐以实际上适应任何要求。

出于我们简单的例子的目的,我们将查看我们需要简单的CSV输出的情况:订购的每个项目的SKU,订购数量和价格。

使用Xtento我们将拥有一些基本结构,允许我们循环订单项,并获得访问内部的申博娱乐。

简单的领域– Example 1

首先让我们看看我们如何使用XML节点的基本字段申博娱乐。

这将返回以下内容:

这不是很多代码,并且在该形式也相当可读。您将获得所选的任何节点的值(在这种情况下,“SKU”).

因此,使用我们研究的循环组合一些申博娱乐,以及如何从节点中拉出申博娱乐看起来像:

它将输出以下内容:

只有在XSLT中只有一个短模板,订单已经从长XML文档更改为一小块CSV申博娱乐,完全是所需的细节。

PHP功能– Example 2

现在有一个更复杂的示例,我们可以在哪里调用一些PHP本机功能。可以直接从XSL模板使用任何PHP函数。在这种情况下,我想包括我的产品的标题或名称,但它们包括逗号,以便这是一个问题,因为它会破坏CSV结构。有几种方法可以解决这个问题,一个人将整个文件解决整体文档,然后是这种更集中的方法。

首先,让我们来看看自己召唤PHP功能:

这允许我们调用PHP函数“PREG_REPLACE”,通过REGEX来删除逗号,然后替换那些。我们通过了我们想要传递作为参数的字段ID,就像我们在经常使用PHP中使用该功能时一样。

所以,如果我们要将其插入到XSL模板中,我们已经从上面已经看起来像:

这将输出以下内容:

正如你所看到的那样,我们现在拥有这两个非常重要的产品的名字,“猫令人敬畏”和“猫酷”,这是可爱猫公司的骨干。

高级功能– Example 3

让我们为我们的例子说,我们的客户可爱Cats Inc.希望为拥有特定的批发客户提供免费送货,他们可以在管理员中设置(在另一个模块中建立)。这些人追究他们最重要的产品,所以让我们特别照顾他们。为了实现此目的,我们需要创建一个静态方法来执行任务。

要首先执行此操作,我们必须在Magento最佳实践之后的模块中创建一个XSL.php帮助器,如下所示:

然后我们需要调用该函数并从命令中传递到entity_id到方法,以便它可以完成逻辑工作。

使用此完成,我们现在能够使用自定义功能给我们一个输出:

这条排行完全适用于ERP集成从客户端的期望。我们不仅完成了任务,我们不必手动编辑任何XML,或在PHP中写出多个短方法。

概括

正如您可以看到使用Xtento模块,为您提供了很多速度来击中地面运行,您可以用几行XSLT从框中使用它以以所需的任何格式格式化文本,并具有一点额外的工程您可以执行复杂的逻辑以使输出模拟您需要的内容。下面我们拥有整个XSLT模板,我们已将所有编译成一个条目。


Xtento模块与Magento接口无缝链接,为您提供一个丢弃XSL模板的好地方。它还带来了一些其他功能,您可以利用使用Magento的申博娱乐。

在Xtento导出XSL中使用的一些其他功能是:

您可以找到购买信息 Xtento订单导出模块 & their 文件 是 also available.

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

本网站使用AkisMet减少垃圾邮件。 了解如何处理评论申博娱乐.

最近的帖子查看全部
3月1日,2021年

Covid的巨大加速要求再次欺诈和消费者虐待警惕

2月3日,2021年

社交媒体在科迪德自然时期的增长’s One

1月5日,2021年

替代社交媒体

您是否注意到您的Facebook和Instagram内容似乎越来越少,并且每次通过都会越来越少?用于达到的帖子 […]