Gutscheincode auf Bestellung + QR-Code(?) zu Bestellung erstellen

Hallo,
wir haben einen Kunden der als Shopsystem den OXID Shop verwendet (CE).
Bisher haben wir immer mit Magento bzw. Contao gearbeitet doch der OXID scheint auch nicht verkehrt zu sein :slight_smile:

Jetzt sind folgende Anfragen eingegangen, die ich mir angenommen habe ich aber im Internet noch nichts wirklich Passendes finden konnte.

Evtl. hat ja jemand schon Erfahrungen damit gemacht und hat bereits was “fertiges” ansonsten werden wir uns da dran machen.

Und zwar geht es wie die Überschrift schon vermuten lässt um folgendes:

[ul]
[li]Der Kunde würde gerne auf der Rechnung, welche man als PDF generieren lassen kann den GutscheinCODE ausgegeben haben, also nicht nur “Gutschein” sondern auch den Code.[/li][li]Außerdem würde er gerne auf jeder Rechnung einen Code ausgeben lassen, welcher Name, Ort, Gutscheincode bzw. Nummer und den Preis enthält. Mir wäre spontan der QR Code eingefallen. Gibt es da was?[/li][/ul]

Vielen Dank für die Antworten!

[QUOTE=factsgmbh;73966]…doch der OXID scheint auch nicht verkehrt zu sein :slight_smile:
[/QUOTE]

…natürlich nicht… :smiley:

Will der Kunde denn die Rechnungen über den Shop generieren? Hat er keine Warenwirtschaft dahinter? Mir scheint diese Anforderung ist eher etwas für nachgelagerte Systeme als direkt für die Shop-Engine.

Hallo,
nein der Kunde hat nicht DIREKT eine Warenwirtschaft dahinter.
Es ist nicht so, dass der Shop hunderte von Artikel verkauft, es sind etwas hochwertigere und so wie ich das verstanden habe, möchte er die Artikel in einer Excel (?) Datei hinterlegen und das wird automatisiert, in dem sie beispielsweise den QR Code auf der Rechnung scannen (wollen) .

So die Anforderung :slight_smile:

Evtl. haben Sie auch ein Warenwirtschaftssystem dass die Excels importiert. Im Grunde weis es nicht.

Aktuell such ich immer noch das Script zur PDF Erzeugung, funktioniert das hier nicht über Templates? Also .tpl oder so etwas in der Richtung? :slight_smile:

Das PDF wird per Modul erzeugt, es liegt unter /modules/invoicepdf/myorder.php

wird in dieser Datei auch die Ausgabe definiert oder wird die extern nochmal irgendwo festgelegt? Also wo genau was steht etc.

Irgendwie blick ich da noch nicht ganz durch, wo ich jetzt eigene Ausgaben definieren kann. Bin leider in der API noch gar nicht drin.

Danke schon einmal.

Die komplette Ausgabe inklusive Positionierung wird darin definiert.

Hey,
also erst einmal danke für die Unterstützung :slight_smile:
Allerdings steige ich hinter die Api noch nicht so ganz durch.

Ich habe die URL zu einem QR Code (also den Pfad vom Image, liegt testweise jetzt noch nicht auf dem Server sondern hinter einer URL).

Diesen würde ich jetzt wiederrum testweise gerne einfach nur irgendwo auf dem PDF ausgeben.

Da echo etc. überhaupt keine Wirkung zeigt hab ich mir die Syntax vom Logo angesehen:

    public function pdfHeader( $oPdf )
    {
        // adding new page ...
        $oPdf->addPage();

        // loading active shop
        $oShop = $this->_getActShop();

        //logo
		
	
        $myConfig = $this->getConfig();
        $aSize    = getimagesize( $myConfig->getImageDir().'/pdf_logo.jpg' );
        $iMargin  = 195 - $aSize[0] * 0.2;
        $oPdf->setLink( $oShop->oxshops__oxurl->value );
        $oPdf->image( $myConfig->getImageDir().'/pdf_logo.jpg', $iMargin, 10, $aSize[0] * 0.2, $aSize[1] * 0.2, '', $oShop->oxshops__oxurl->value );
        return 14 + $aSize[1] * 0.2;	
    }

Ändere ich[B] $myConfig->getImageDir().’/pdf_logo.jpg’[/B] zu $rooturl, also dem Pfad, wird kein PDF erzeugt, da er das offensichtlich nicht kapiert. Dupliziere ich alles, gibt er mir trotzdem nur einmal das Logo aus, wobei diese Funktion doch eigentlich für den Header zuständig ist oder?

Tut mir Leid, wenn das alles etwas Laienhaft rüberkommt aber gerade versteh ich nur Bahnhof :slight_smile:

Danke!

Also: ich würde im Grunde nur den Befehl zur Ausgabe von Text oder Bildern haben. In den verlinkten Handbuchlinks die ich per Google finde, bekomme ich nur ein Page not Found und so scheint da noch nie jemand was an der Rechnung verändert zu haben :confused:

Verwende mal die Suche hier auf der Seite rechts oben im Header mit “PDF Rechnung”, die Suchergebnisse dann auf “Forum” einschränken.

http://www.oxid-esales.com/forum/showthread.php?t=777
http://www.oxid-esales.com/forum/showthread.php?t=813
http://www.oxid-esales.com/forum/showthread.php?t=8176
http://www.oxid-esales.com/forum/showthread.php?t=12170

Danke erst einmal für den Tipp.
Leider ist da nichts dabei, wie man Texte ändert hab ich mittlererweile kapiert (in der Sprachdatei) für neue Textpassagen muss man neue Sprachvariablen anlegen aber was ich gerne machen würde ist das Wort “Gutschein” in den jeweiligen Code ändern und unter dem Logo einfach den QR Code, welcher mir auch ordentlich generiert wird auszugeben.

Wirklich schade dass man da überhaupt nicht flexibel ist.

Ggf. wäre eine denkbare Variante, dass man für den Code eine neue Sprachvariable in der cust_lang.php einpflegt, dort dann die Einbindung (url?) hinterlegt und diese neue Variable dann in die myorder.php einbaut.

Aber wie schon gesagt, Oxid ist primär ein Shopsystem, solche Funktionen werden eher nachgelagert eingebunden.

Ich probiere es mal, aber ich glaube nicht das es funktioniert.
Angedacht war es jetzt eigentlich via Google Chart einen QR Code zu bauen.

Der Link lautet immer:
https://chart.googleapis.com/chart?cht=qr&chs=250x250&chl=testtesttest&choe=utf-8&chld=l

Dort müssten dann die Variablen eingebaut werden (andere Baustelle) wie Name, Vorname, Ort etc.

Dadurch wird mir dann der QR Code gebaut und hinter dem Link verbirgt sich dann das Bild.

Also üblicherweise verwendet man dann den link im <img src="-tag.

In Contao hatte ich das eben via templates gelernt, welcher mir dann meinen newsletter, mein pdf bzw. einfach das frontend generiert.

Beste Möglichkeit wäre also gewesen, in dem Script das mir die PDFs erzeugt einfach schlicht und ergreifend ein Div zu positionieren und den Code einzugeben mit den Variablen die übergeben werden sollen.

Mittlererweile bin ich echt ratlos, Innerhalb der myorder.php kann ich offenbar keine neuen Einträge einpflegen (wenn ich passagen kopiere werden sie trotzdem nur 1x angezeigt, ändere ich den link zum logo funktioniert gar nichts mehr…) ist anscheinend ziemlich versteift.

Hast du dann noch einen Hinweis wie man dann eine angelegte Sprachvariable ausgibt?
Also in welcher Funktion ich die angeben muss, damit sie letztendlich auf dem PDF dargestellt wird.

Alles nicht so leicht… Danke!

Eigentlich müsste man auch ein <img> in einen Sprachbaustein packen können, ich meine HTML wird ausgeführt (habs aber so noch nicht getestet).

Nach Änderungen bei Templates, Sprachdateien oder Modulen muss man /tmp leeren und Views aktualisieren (unter Service -> Tools). Ein nettes Tool wäre hierfür der Modulconnector von D3, damit werden diese Funktionen im Backend per Mausklick verfügbar.

Hier noch ein Besipiel für eine Sprachvariable in der myorder.php (Zeile 211), das rote ist die eigentliche Variable:

$this->text( 45, $iStartPos + 4, $this->_oData->translate( 'ORDER_OVERVIEW_PDF_ALLPRICENETTO' ) );

Hallo,
also ersteinmal vielen Dank nochmal.

Ich bin jetzt schon etwas weitergekommen, allerdings findet er offenbar meine Variable noch nicht.

Ich habe in der “cust_lang.php” unter out/basic/de folgendes im Array eingetragen:

'qrcode' => '<img src="http://chart.apis.google.com/chart?chs=200x200&cht=qr&chl=http://nikonierer.de" alt="http://nikonierer.de" width="200" height="200" />',

Das ist erstmal ein Dummy, den ich mir irgendwo rauskopiert habe, fakt ist, dass es gehen SOLLTE!

Also habe ich jetzt einfach dein Quote kopiert und die Variable durch meine ersetzt, nämlich “qrcode”.

Leider gibt er mir nur den Namen der Variable aus, nicht aber den Inhalt.

Habe ich das also in die richtige cust_lang.php eingetragen oder muss das wo anders hin?

Danke!

EDIT://
Also offensichtlich frisst er keine HTML Codes. Er lässt das einfach leer (vorher hat er ja immerhin den Variablen Namen ausgegeben)

Also bin ich auf folgenden Befehl gestoßen:

$oPdf->image( $myConfig->getImageDir().'/pdf_logo.jpg', $iMargin, 10, $aSize[0] * 0.2, $aSize[1] * 0.2, '', $oShop->oxshops__oxurl->value );

Kann mir jemand verraten wie ich das ganze jetzt so anpasse, dass er mir das Bild aus externer Quelle lädt?

Hab schon foglendes Probiert:

$this->image( 'https://www.google.com/logos/2011/stanislaw_lem-2011-res.png', 10, 10, 10, 10, '', $oShop->oxshops__oxurl->value );

Jedoch ohne Erfolg!

Danke!