'选择'2条信息(XSLT文件)

时间:2015-06-11 11:11:29

标签: magento xslt sage-erp

我正在尝试使用一个软件将我们的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>

3 个答案:

答案 0 :(得分:1)

您真的需要告诉我们您使用的是哪个版本的XSLT。您提出的代码

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

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

答案 1 :(得分:0)

你可以提供

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

答案 2 :(得分:0)

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

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

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

<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>

在上面,您可以将", "直接放在两个值之间,但是您无法控制缩进。不幸的是,当我生成固定文本时,我总是使用xsl:text