Vor ein Paar Jahren, als ich pdf Rechnung3 in 1.3.8 eingespielt habe, hatte ich das folgende Problem.
Die Lösung war in dieser Thema zu finden --> https://forenarchiv.zen-cart-pro.at/...ngsdatum-fehlt
Da hat webchills folgendes geschrieben, aber das hilft mir leider bei Version 3.1 nicht. Die Dateien sind für meine php Unfähigkeit zu unterschiedlich. Könnte jemand mir hier helfen? Hat jemand vielleicht das selbe Fix aber für 3.1?
Bei mir sind dann anschliessend die Texte von Rechnungsnummer, Bestelldatum und Zahlungsweise (wahrscheinlich auch noch das Rechnungsdatum), alle in einer Zeile übereinander geschrieben.
Da hat webchills folgendes geschrieben, aber das hilft mir leider bei Version 3.1 nicht. Die Dateien sind für meine php Unfähigkeit zu unterschiedlich. Könnte jemand mir hier helfen? Hat jemand vielleicht das selbe Fix aber für 3.1?
Das im Admin eingestellte Ort und Datum der Rechnung wird nicht übernommen.
Als Ergänzung zum Beitrag von omgymeu hier die nötigen Anpassungen, kann nach Belieben abgewandelt werden:
1) includes/classes/class.rl_invoice3.php
ca. Zeile 452
Code:
function makeInvoiceNumber() {
$this->pdf->SetY($this->delta['addrInvoice'] + $this->pdf->GetY());
$dat = str_replace('@DATE@', strftime(DATE_FORMAT_SHORT), RL_INVOICE3_CITY);
$tmp = ENTRY_ORDER_ID . sprintf("%s%05d", RL_INVOICE3_ORDER_ID_PREFIX, $this->oID);
$link = HTTP_SERVER . DIR_WS_CATALOG . 'index.php?main_page=account_history_info&order_id =' . $this->oID;
$this->pdf->Cell($this->maxWidth, 6, $tmp, '', 1, 'L', 0, $link);
$tmp = ENTRY_DATE_PURCHASED . " " . zen_date_short($this->order->info['date_purchased']);
$this->pdf->Cell($this->maxWidth, 6, $tmp, '', 0, 'L');
$this->pdf->SetX(20);
$this->pdf->Cell($this->maxWidth, 6, $dat, '', 2, 'R');
$this->pdf->SetX($this->margin['left']);
$tmp = RL_INVOICE3_PAYMENT_METHOD . " " . $this->order_check->fields['payment_method'];
$this->pdf->Cell($this->maxWidth, 6, $tmp, '', 0, 'L');
}
ersetzen mit:
Code:
function makeInvoiceNumber() {
$hoehe=$this->t1Opt['lineHeightInvoiceNumber'];
$this->pdf->SetFont($this->fonts2['general'], '', $this->t1Opt['fontSizeInvoiceNumber']);
$this->pdf->SetY($this->delta['addrInvoice'] + $this->pdf->GetY());
$dat = str_replace('@DATE@', strftime(DATE_FORMAT_SHORT), RL_INVOICE3_CITY);
$tmp = ENTRY_ORDER_ID . sprintf("%s%05d", RL_INVOICE3_ORDER_ID_PREFIX, $this->oID);
$link = HTTP_SERVER . DIR_WS_CATALOG . 'index.php?main_page=account_history_info&order_id =' . $this->oID;
$this->pdf->Cell($this->maxWidth, $hoehe, $tmp, '', 1, 'L', 0, $link);
$tmp = RL_INVOICE3_ENTRY_DATE_INVOICE . " " . zen_date_short(date("Y-m-d H:i", time()));
$this->pdf->Cell($this->maxWidth, $hoehe, $tmp, '', 0, 'L');
$this->pdf->SetX(20);
$this->pdf->Cell($this->maxWidth, $hoehe, $dat, '', 2, 'R');
$this->pdf->SetX($this->margin['left']);
$tmp = ENTRY_DATE_PURCHASED . " " . zen_date_short($this->order->info['date_purchased']);
$this->pdf->Cell($this->maxWidth, $hoehe, $tmp, '', 0, 'L');
$this->pdf->SetX(20);
$this->pdf->Cell($this->maxWidth, $hoehe, $dat, '', 2, 'R');
$this->pdf->SetX($this->margin['left']);
$tmp = RL_INVOICE3_PAYMENT_METHOD . " " . $this->order_check->fields['payment_method'];
$this->pdf->Cell($this->maxWidth, $hoehe, $tmp, '', 0, 'L');
}
2) Die nun neu eingeführte Sprachdefinition RL_INVOICE3_ENTRY_DATE_INVOICE eintragen in:
includes/languages/german/extra_definitions/rl_invoice3.php
z.B. so:
Code:
define('RL_INVOICE3_ENTRY_DATE_INVOICE','Rechnungs datum:');
3) Zeilenabstand und Schriftgröße einstellen in:
includes/pdf/rl_invoice3_def.php
Beim verwendeten Template (z.B. amazon) einfügen:
Code:
'lineHeightInvoiceNumber' => 5,
'fontSizeInvoiceNumber' => 9,
so dass es z.B. so ausschaut:
Code:
$optionsP['amazon_templ'] = array(
"subtotal"=>'subtotalE',
//"paperOriantation"=>"P",
"fontSize" => 8,
'showHeadings' => 1,
'shaded' => 1,
'lineHeightInvoiceNumber' => 5,
'fontSizeInvoiceNumber' => 9,
'xPos' => 'left',
'xOrientation' => 'right',
'width' => $realPW-35,
Als Ergänzung zum Beitrag von omgymeu hier die nötigen Anpassungen, kann nach Belieben abgewandelt werden:
1) includes/classes/class.rl_invoice3.php
ca. Zeile 452
Code:
function makeInvoiceNumber() {
$this->pdf->SetY($this->delta['addrInvoice'] + $this->pdf->GetY());
$dat = str_replace('@DATE@', strftime(DATE_FORMAT_SHORT), RL_INVOICE3_CITY);
$tmp = ENTRY_ORDER_ID . sprintf("%s%05d", RL_INVOICE3_ORDER_ID_PREFIX, $this->oID);
$link = HTTP_SERVER . DIR_WS_CATALOG . 'index.php?main_page=account_history_info&order_id =' . $this->oID;
$this->pdf->Cell($this->maxWidth, 6, $tmp, '', 1, 'L', 0, $link);
$tmp = ENTRY_DATE_PURCHASED . " " . zen_date_short($this->order->info['date_purchased']);
$this->pdf->Cell($this->maxWidth, 6, $tmp, '', 0, 'L');
$this->pdf->SetX(20);
$this->pdf->Cell($this->maxWidth, 6, $dat, '', 2, 'R');
$this->pdf->SetX($this->margin['left']);
$tmp = RL_INVOICE3_PAYMENT_METHOD . " " . $this->order_check->fields['payment_method'];
$this->pdf->Cell($this->maxWidth, 6, $tmp, '', 0, 'L');
}
ersetzen mit:
Code:
function makeInvoiceNumber() {
$hoehe=$this->t1Opt['lineHeightInvoiceNumber'];
$this->pdf->SetFont($this->fonts2['general'], '', $this->t1Opt['fontSizeInvoiceNumber']);
$this->pdf->SetY($this->delta['addrInvoice'] + $this->pdf->GetY());
$dat = str_replace('@DATE@', strftime(DATE_FORMAT_SHORT), RL_INVOICE3_CITY);
$tmp = ENTRY_ORDER_ID . sprintf("%s%05d", RL_INVOICE3_ORDER_ID_PREFIX, $this->oID);
$link = HTTP_SERVER . DIR_WS_CATALOG . 'index.php?main_page=account_history_info&order_id =' . $this->oID;
$this->pdf->Cell($this->maxWidth, $hoehe, $tmp, '', 1, 'L', 0, $link);
$tmp = RL_INVOICE3_ENTRY_DATE_INVOICE . " " . zen_date_short(date("Y-m-d H:i", time()));
$this->pdf->Cell($this->maxWidth, $hoehe, $tmp, '', 0, 'L');
$this->pdf->SetX(20);
$this->pdf->Cell($this->maxWidth, $hoehe, $dat, '', 2, 'R');
$this->pdf->SetX($this->margin['left']);
$tmp = ENTRY_DATE_PURCHASED . " " . zen_date_short($this->order->info['date_purchased']);
$this->pdf->Cell($this->maxWidth, $hoehe, $tmp, '', 0, 'L');
$this->pdf->SetX(20);
$this->pdf->Cell($this->maxWidth, $hoehe, $dat, '', 2, 'R');
$this->pdf->SetX($this->margin['left']);
$tmp = RL_INVOICE3_PAYMENT_METHOD . " " . $this->order_check->fields['payment_method'];
$this->pdf->Cell($this->maxWidth, $hoehe, $tmp, '', 0, 'L');
}
2) Die nun neu eingeführte Sprachdefinition RL_INVOICE3_ENTRY_DATE_INVOICE eintragen in:
includes/languages/german/extra_definitions/rl_invoice3.php
z.B. so:
Code:
define('RL_INVOICE3_ENTRY_DATE_INVOICE','Rechnungs datum:');
3) Zeilenabstand und Schriftgröße einstellen in:
includes/pdf/rl_invoice3_def.php
Beim verwendeten Template (z.B. amazon) einfügen:
Code:
'lineHeightInvoiceNumber' => 5,
'fontSizeInvoiceNumber' => 9,
so dass es z.B. so ausschaut:
Code:
$optionsP['amazon_templ'] = array(
"subtotal"=>'subtotalE',
//"paperOriantation"=>"P",
"fontSize" => 8,
'showHeadings' => 1,
'shaded' => 1,
'lineHeightInvoiceNumber' => 5,
'fontSizeInvoiceNumber' => 9,
'xPos' => 'left',
'xOrientation' => 'right',
'width' => $realPW-35,
Kommentar