2017-03-11 5 views
0

私はMagento 2を使用しています。私はモジュールを使って別のサーバーに商品注文をエクスポートできます。サーバーは特定の "sequence_id"を必要とします。このシーケンスIDはmagentoの一部ではないので、何とか作成する必要があり、失われてしまいます。xslに0001-9999の番号範囲を作成する必要があります

基本的には4桁でなければなりません。それは0001から9999になり、その後繰り返すことができます。先行するゼロが必要です。

私は約7文字の長さで、誰もが、私はこれはXSLで実現することができる方法を知っています9999

でリセットされません。しかし、Magentoのから値「注文インクリメントID」を持っています?

ありがとうございます!

+2

ご質問は明確ではありません。入力と期待される出力の小さな例を投稿してください - [mcve]を参照してください。 –

+0

問題は、表示するコードがないことです。 基本的に私は私のテキスト出力のようなものである 0001から9999まで行くからインクリメント数であるように私のファイル名、および他のフィールドを必要とする: 値1;値2;値3; 0001 < - (シーケンス番号) 値1,2、&3はMagento 2システムから生成されます。基本的にDBフィールドまたは属性です。シーケンス番号はカスタムでなければなりません。だから私はそれをどのように生成するか分かりません。 magentoが提供できる注文番号がありますが、000002のような文字もありますが、9999で再スタートしません。 –

+0

入力の各項目に*任意の*値を生成する方法は知っていますか?もしそうであれば、 ''を使うことができます。その9999個以上のアイテムが必要な場合は、9999の後に ''を使用して0にロールバックします。ここでの目的は、アイテムに連続番号を付けることです。質問からは明らかではありません(重複が許されている場合は、何がそのポイントであるかは不明です)。 –

答えて

1

あなたがformat-number1 to 9999を選択して使用することができますXSLT 2.0と仮定すると:

<xsl:for-each select="1 to 9999"> 
     <number> 
      <xsl:value-of select="format-number(., '0000')"/> 
     </number> 
    </xsl:for-each> 

http://xsltransform.net/ncntCTg

+1

残念ながら私はあなたの前提が良いとは思わない:Magento - > PHP - > XSLT 1.0。 –

+0

が動作しませんでした。 エラー:このプロファイルのXSLテンプレートを修復してください。 \tライン0(エラーコード:1207):無効な式 \tライン0(エラーコード1):コンパイルエラー:エレメントfor-each \tライン0(エラーコード1) :xsl:for-each:選択式 '1〜9999'をコンパイルできませんでした –

+0

そのコードはXSLT 2.0で、すべてのXSLT 2.0プロセッサで動作します。 MagentoがXSLT 1.0プロセッサのみを公開している場合、そのアプローチは使用できません。 –

関連する問題