PDF- Rechnung - Rechnungsnummer statt Kundennummer/ neuer Satz bei ausl. Bestellung

Hallo Leute,

  1. ich möchte in der PDF Rechnung anstelle von:

Bei Zahlungen bitte immer angeben.
Kundennummer 10149

Bei Zahlungen bitte immer angeben.
Rechnungsnummer XXX

ausgeben lassen.

Ich habe versucht in der myorder.php


$sCustNr = $this->translate( 'ORDER_OVERVIEW_PDF_CUSTNR' ).' '.$oUser->oxuser__oxcustnr->value;
        $oPdf->setFont( $oPdfBlock->getFont(), '', 7 );
        $oPdf->text( 195 - $oPdf->getStringWidth( $sCustNr ), 73, $sCustNr );

mit

 $sText = $this->translate( 'ORDER_OVERVIEW_PDF_COUNTNR' ).' '.$this->oxorder__oxbillnr->value;
        $oPdf->text( 195 - $oPdf->getStringWidth( $sText ), $iTop + 8, $sText );

zu tauschen, aber dann wird gar nichts mehr an der Stelle ausgegeben.

  1. möchte ich bei ausländischen Bestellungen einen zusätzlichen Satz einfügen lassen. Also RNG ungleich Deutschland. Wie muss dazu die Funktion aussehen?

Danke für eure Hilfe.

LG

Kai

Zu Punk 1: Die Syntax stimmt aber schau doch einfach mal in der DB-Tabelle oxorder ob dort überhaupt ein oxbillnr Wert steht.

Zu Punkt 2: In der Admin de/lang.php findest Du den Eintrag [‘ORDER_OVERVIEW_PDF_COUNTNR’ => 'Rechnung ',] und analog dazu in en/lang.php [‘ORDER_OVERVIEW_PDF_COUNTNR’ => ‘Invoice No:’,].
In der jeweiligen Sprache kannst in der cust_lang.php dann einstellen was Du willst. Oder läuft der Shop nur einsprachig?

hallo earlybird,

  1. das snippet habe ich aus der myorder.php aus einer anderen stelle “geklaut”. dort funktioniert es, aber nicht an einer anderen stelle.

  2. nur einsprachig. von daher müsste das versandland geprüft werden, da wir aus rechtlichen gründen einen weiteren satz in solchen fällen einblenden müssen.

danke dir.

Das hatte ich auch mal. Es wurde mir erklärt, dass die Nummer hier noch nicht existiert. Entsprechend muss folgendes eingesetzt werden, womit es geht:

if ( !$this->oxorder__oxbillnr->value ) {
            $this->oxorder__oxbillnr->setValue($this->getNextBillNum());
            $this->save();
}
$sText = $this->translate( 'ORDER_OVERVIEW_PDF_COUNTNR' ).' '.$this->oxorder__oxbillnr->value;
        $oPdf->text( 195 - $oPdf->getStringWidth( $sText ), $iTop + 8, $sText );
        }

Das 2. kannst mit:

if ($this->oxorder__oxbillcountryid->value != "a7c40f631fc920687.20179984")
			{

lösen.

hallo tvtotal,

  1. wenn ich das so mache, ist die Bestellübersicht leer :(.
  2. probiere ich nachehr aus.

danke dir.

zu 2) habe das eingebunden und wird auch angezeigt, aber leider in der gleichen Zeile wie die Greetings. Konnte meinen neuen Satz nur nach rechts verschieben, aber hätte es gerne in einer neuen Zeile. Wie mache ich das?

 $oPdf->text( 15, $siteH, $this->translate( 'ORDER_OVERVIEW_PDF_GREETINGS' ) );
		
		if ($this->oxorder__oxbillcountryid->value != "a7c40f631fc920687.20179984")
			{
				$oPdf->text( 125, $siteH, $this->translate( 'ORDER_OVERVIEW_PDF_AUSLAND' ) );
				}

Da musst Du die 125 und §siteH ändern. 125 ist, wie ich weiß, der Abstand nach links und §siteH nach oben.

Beim ersten sollte das so gehen. Sonst hast wohl einen Fehler, aber zum Beseitigen weiß ich zu wenig darüber. Mache auch alles nach Trial & Error oder mit Hilfe.

Danke, dann versuche ich mich weiter.

oPdf->text( 15, $siteH + 10, $this->translate( 'ORDER_OVERVIEW_PDF_AUSLAND' ) );

so geht´s. Danke für den Hinweis.

[QUOTE=tvtotal;129272]

if ($this->oxorder__oxbillcountryid->value != "a7c40f631fc920687.20179984")
			{

lösen.[/QUOTE]

wie kann ich denn 3 länder ausschließen (DE, LI und CH)?

IDs:
a7c40f6322d842ae3.83331920
a7c40f6321c6f6109.43859248
a7c40f631fc920687.20179984

wie baut sich dann der code auf?

danke schön.

Ich und PHP. Na klar:

Ich habe was ähnliches gefunden und würde es entsprechend so machen:

if ($this->oxorder__oxbillcountryid->value != "a7c40f6322d842ae3.83331920" 
&& $this->oxorder__oxbillcountryid->value != "a7c40f6321c6f6109.43859248" 
&& $this->oxorder__oxbillcountryid->value != "a7c40f631fc920687.20179984")
			{

Wobei man dann auch hingehen kann und nur das Land raussuchen, bei if zutrifft

$this->oxorder__oxbillcountryid->value == "XXXXXXXXX"