まず、投稿に愚かなことを言うと、私の謝罪を受け入れてください!私は本当にこのプログラミング言語を理解していないし、これまでに試行錯誤してきただけです!Magento出力ファイルのファイル名を短くする
Magentoオーダーをファイルに出力しようとしました。私たちのPOSにアップロードする準備が整いました。
<?xml version="1.0"?>
<files>
<file filename="%lastincrementid%.txt">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl">
<xsl:output method="text"/>
<xsl:variable name="sepstart" select="'"'"/> <!-- " field start seperator, including '' -->
<xsl:variable name="sepend" select="'",'"/> <!-- field end seperator, including '' -->
<xsl:template match="/">
<xsl:for-each select="orders/order">
<xsl:for-each select="items/item">
<xsl:value-of select="$sepstart" /><xsl:value-of select="normalize-space(sku)"/><xsl:value-of select="$sepend" />
<xsl:value-of select="$sepstart" /><xsl:value-of select="normalize-space(qty)"/><xsl:value-of select="$sepend" />
<xsl:value-of select="$sepstart" /><xsl:value-of select="normalize-space(price)"/><xsl:value-of select="$sepend" />
<xsl:value-of select="$sepstart" /><xsl:value-of select="normalize-space(row_total)"/><xsl:value-of select="$sepend" />
<xsl:value-of select="$sepstart" /><xsl:value-of select="normalize-space(../../increment_id)"/><xsl:value-of select="$sepend" />
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
</file>
</files>
%のlastincrementidの%の形式は、ファイル名が、現在この9桁の数字になるように設定されている100007654.
などの9桁の数字ですが、私:ここ
は、私のこれまでのテンプレートですそれは最後の4桁、つまり7654にしたいと考えています。誰も私がそれについてどのように見せてくれるのか分かりますか?私は... substring()
を使用してみてください
謝罪。私は誤って、ファイル名が現在設定されている%lastincrementid%ではなく、increment_idを使用したかったと言っています。 –
"私はこのプログラミング言語を本当に理解していないし、これまでに試行錯誤してきただけです!どういう意味なのかよく分かりませんが、XSLTの入門書を読むことを強くお勧めします。トレイルとエラーでうまく動作するのは、主題の種類ではありません。 – LarsH
'%lastincrementid%'は実際にはXSLT構造体ではありません。さらに、あなたのXSLTスタイルシート 'xsl:stylesheet'が' file'要素の中にネストされていることに気付きました。それ自体は有効なXSLTにならないでしょう。これは実際にはXSLTの質問ではないかもしれないが、あなたが与えられた答えのコメントで言及しているこの "マグネト"についてのより多くの質問を示唆している。 "magneto"をタグとして追加して、あなたの質問に少し詳しく説明する価値があります。ありがとう! –