1

我正在尝试通过一个软件将我们的 Magento 网站与 Sage 50 链接起来。

我们希望客户的名字和姓氏进入公司字段。

以下是我认为我必须调整的 3 行:

   <Forename><xsl:value-of select="billing_address/firstname"/></Forename>
    <Surname><xsl:value-of select="billing_address/lastname"/></Surname>
    <Company><xsl:value-of select="billing_address/company"/></Company>

如何在 1 行中合并名字和姓氏?寻找类似的东西:

    <Company><xsl:value-of select="billing_address/firstname, billing_address/lastname"/></Company>
4

3 回答 3

1

您确实需要告诉我们您使用的是哪个版本的 XSLT。您建议的代码

<xsl:value-of select="billing_address/firstname, billing_address/lastname"/>

在 2.0 中很好,你可以通过添加属性来获取逗号separator=", "/>。但这在 1.0 中不起作用,xsl:value-of如果你给它一个序列,它只会输出第一个项目。

于 2015-06-11T14:17:06.733 回答
0

你可以给

    <Company><xsl:value-of select="concat(billing_address/firstname,', ', billing_address/lastname)"/></Company>

试一试...

于 2015-06-11T11:18:01.543 回答
0

首先,只有空格的文本节点会被 XSLT 引擎忽略,因此您在上面尝试的内容可以重写如下:

<Company>
   <xsl:value-of select="billing_address/firstname, billing_address/lastname"/>
</Company>

其次,您必须了解xsl:value-of生成文本节点。以下将生成2个文本节点,分别是。名字和姓氏:

<Company>
   <xsl:value-of select="billing_address/firstname"/>
   <xsl:value-of select="billing_address/lastname"/>
</Company>

然后,如果我理解正确,您想用字符串将两者分开", "。您可以使用xsl:text生成固定内容的文本节点:

<Company>
   <xsl:value-of select="billing_address/firstname"/>
   <xsl:text>, </xsl:text>
   <xsl:value-of select="billing_address/lastname"/>
</Company>

在上面,你可以", "在两个 value-of 之间直接放置,但是你不能控制缩进。通常,当我生成固定文本时,我总是使用xsl:text.

于 2015-06-11T11:21:22.847 回答