Frage

Hilfe bei Smarty Anpassung / Bestellungen - Schleife erstellen


Benutzerebene 5
Abzeichen +2

Hi, ich möchte an unser Fulfillment die bestellte Ware übermitteln. Allerdings wird über mein Code bisher nur die erste Position ausgegeben. Wie kann ich hier alle vorhandenen Bestellpositionen integrieren?

{foreach} ist mir geläufig. Leider bekomme ich aber immer keine Werte raus bei meinen Versuchen.

 

Feldname;Nummer;Lieferant_Nummer;Position_Artikel_Artikel_Nummer;Position_Menge;Erwartete_Ankunftszeit;Freifeld_1
{$myArray|@count};
{$beleg->belegnr};
{"SELECT lieferantennummer FROM adresse where name =
'{$beleg->name}' "|assignsql assign="vendordata"}
{$vendordata[0]->lieferantennummer};
{"SELECT a.nummer from bestellung_position bp inner join artikel a on a.id=bp.artikel where bp.bestellung =
'{$beleg->id}'"|assignsql assign="articledata"}
{$articledata[0]->nummer};
{"SELECT menge FROM bestellung_position where bestellung =
'{$beleg->id}' "|assignsql assign="articledata"}
{$articledata[0]->menge|intval};
{$beleg->bestaetigteslieferdatum|date_format:"%d%m%Y"};
{$beleg->freitext};

 


3 Antworten

Benutzerebene 7
Abzeichen +5

Moin @kakacommerce ,

im Normalfall hätte ich die unseren Code geschickt, aber wir bekommen seit dem Update auf die 23.0.0 gar keine Positionen mehr angezeigt. Sobald das Thema geklärt ist (Ticket ist in Bearbeitung) schreibe ich dir.

 

Benutzerebene 5
Abzeichen +2

Hi Marcel,

 

kannst du deinen Code senden? Das wäre großartig. Bin seitdem letzten Post noch nicht weiter gekommen.

Benutzerebene 3
Abzeichen +5

Moin @kakacommerce ,

wir haben seinerzeit mit folgendem Smarty gearbeitet.
Eine Gewährleistung kann ich dafür aber nicht übernehmen.
Bei uns hat es aber funktioniert.

<Bestellung_In>
  <Bestellung>
    <Bestellnummer>{$beleg->belegnr}</Bestellnummer>
    <Anliefertag>{$beleg->gewuenschteslieferdatum}</Anliefertag>
    <Typ>Bestellung</Typ>
{if $beleg->abweichendelieferadresse!= "0"}
    <LieferantName1>{$beleg->liefername|escape:"html"}</LieferantName1>
    <LieferantName2>{$beleg->lieferadresszusatz|escape:"html"}</LieferantName2>
    <LieferanStrasse>{$beleg->lieferstrasse|escape:"html"}</LieferanStrasse>
    <LieferantPLZ>{$beleg->lieferplz}</LieferantPLZ>
    <LieferantOrt>{$beleg->lieferort|escape:"html"}</LieferantOrt>
    <LieferandLand>{$beleg->lieferland}</LieferandLand>
{else}
    <LieferantName1>{$beleg->name|escape:"html"}</LieferantName1>
    <LieferantName2>{$beleg->adresszusatz|escape:"html"}</LieferantName2>
    <LieferanStrasse>{$beleg->strasse|escape:"html"}</LieferanStrasse>
    <LieferantPLZ>{$beleg->plz}</LieferantPLZ>
    <LieferantOrt>{$beleg->ort|escape:"html"}</LieferantOrt>
    <LieferandLand>{$beleg->land}</LieferandLand>
{/if}
  </Bestellung>
  <Zusatztexte>
    <Freitext>{$beleg->freitext|strip_tags|escape:"html"}</Freitext>
  </Zusatztexte>
  <Bestellpositionen>
{assign var=count value=0}
{foreach from=$beleg->positionen key=keyrow item=position}
{if $position->articledata->nummer == "995002" ||  $position->articledata->nummer == "970001" || $position->articledata->nummer == "990001"}
{continue}
{/if}
{assign var=count value=$count+1}
    <Bestellposition>
      <Positionsnummer>{$count}</Positionsnummer>
      <Artikelnummer>{$position->articledata->nummer}</Artikelnummer>
      <Menge>{$position->menge}</Menge>
    </Bestellposition>
{/foreach}
  </Bestellpositionen>
</Bestellung_In>

Dabei wurden verschiedenen Artikel (Versandkosten, Verpackungskosten - “995002”) ausgeschlossen.
 

 

Antworten