[GELÖST] DHL Retourenportal in der Bestellübersicht einfügen?

Du hast Probleme mit der Formatierung der Anzeige und weißt nicht woher der Fehler kommt und wie du ihn beheben kannst?

Moderator: maennchen1.de

Antworten
Benutzeravatar
Frixi
Beiträge: 1135
Registriert: 29.10.2014, 15:25
Lizenz: keine

[GELÖST] DHL Retourenportal in der Bestellübersicht einfügen?

Beitrag von Frixi »

Hallo,

ich würde gerne in der Bestellübersicht eine Schaltfläche zum DHL-Retourenportal einfügen, z. B. an dieser Stelle:
Bildschirmfoto 2017-05-29 um 18.01.44.png
Die Schaltfläche soll einfach ein HTML-Link sein, der auf das Retourenportal verweist, mit zusätzlichen Variablen der Kundendaten:

Code: Alles auswählen

https://amsel.dpwn.net/abholportal/gw/lp/portal/[portalname]/customer/RpOrder.action?onInit=&delivery=RetourenLager01&ADDR_SEND_FIRST_NAME=Max&ADDR_SEND_LAST_NAME=Mustermann
etc.

In welcher Datei wäre das einzubauen und sind die Platzhalter für die Kundendaten dieselben, wie beim Kundenkontakt?

Danke für eure Hilfe.
Zuletzt geändert von Frixi am 22.06.2017, 10:24, insgesamt 3-mal geändert.
WP V.6.0.1 - WPNG V.1.1.1 - PHP 7.4.30 - Shop: friXtender.de/shop
Benutzeravatar
maennchen1.de
Administrator
Beiträge: 17868
Registriert: 14.08.2003, 16:55
Lizenz: wpShopGermany Enterprise
Wohnort: Thüringen, Ellersleben
Kontaktdaten:

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von maennchen1.de »

Hallo!
Die Bestellübersicht kannst du in der Datei (user_)views/warenkorb/overview.phtml bearbeiten.
Kein Support per PN! Alle Fragen beantworten wir hier im Forum. Per PN bitte nur Passwörter, Namen und URLs - sofern notwendig.
Bitte vor dem posten lesen:
Wie poste ich eine Frage zu einem Problem?
FAQ / häufig gestellte Fragen
Anzeige-Fehler / Funktionsfehler in wpShopGermany erkennen und selbst beheben
PHTML-Dateien richtig verwenden (für eigene Anpassungen)
Benutzeravatar
Frixi
Beiträge: 1135
Registriert: 29.10.2014, 15:25
Lizenz: keine

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von Frixi »

Danke für die Antwort, das ist aber doch am Ende des Warenkorbs, nicht in der Bestellung des Kunden...

EDIT: Ich glaube, es ist diese: (user_)views/order/view.phtml

Kann ich die Kundendaten als Variablen einsetzen?
Zuletzt geändert von Frixi am 31.05.2017, 15:29, insgesamt 1-mal geändert.
WP V.6.0.1 - WPNG V.1.1.1 - PHP 7.4.30 - Shop: friXtender.de/shop
Benutzeravatar
maennchen1.de
Administrator
Beiträge: 17868
Registriert: 14.08.2003, 16:55
Lizenz: wpShopGermany Enterprise
Wohnort: Thüringen, Ellersleben
Kontaktdaten:

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von maennchen1.de »

Ja, das ist in der Bestellübersicht Frontend.
Wenn du so fragst, dann macht das jetzt auch mehr Sinn, wenn du die Funktion im Backend benötigst. Wahrscheinlich direkt in der Bestellverwaltung, oder?
Der Screenshot ist leider zu klein gewesen, als dass ich das hätte erraten können. ;)
Du meinst wahrscheinlich (user_)views/order/view.phtml.
Kein Support per PN! Alle Fragen beantworten wir hier im Forum. Per PN bitte nur Passwörter, Namen und URLs - sofern notwendig.
Bitte vor dem posten lesen:
Wie poste ich eine Frage zu einem Problem?
FAQ / häufig gestellte Fragen
Anzeige-Fehler / Funktionsfehler in wpShopGermany erkennen und selbst beheben
PHTML-Dateien richtig verwenden (für eigene Anpassungen)
Benutzeravatar
Frixi
Beiträge: 1135
Registriert: 29.10.2014, 15:25
Lizenz: keine

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von Frixi »

Ach, du hattest schon geantwortet... ja, die Datei hatte ich so ausfindig gemacht. Kann ich die Variablen der Kundendaten wie bei den Mail-Vorlagen verwenden?
WP V.6.0.1 - WPNG V.1.1.1 - PHP 7.4.30 - Shop: friXtender.de/shop
Benutzeravatar
maennchen1.de
Administrator
Beiträge: 17868
Registriert: 14.08.2003, 16:55
Lizenz: wpShopGermany Enterprise
Wohnort: Thüringen, Ellersleben
Kontaktdaten:

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von maennchen1.de »

Ich bin mir nicht sicher, was du vor hast.
Probiere es einfach aus und wenn es nicht geht, poste hier einfach deinen Code und wir versuchen dir weiter zu helfen.
Kein Support per PN! Alle Fragen beantworten wir hier im Forum. Per PN bitte nur Passwörter, Namen und URLs - sofern notwendig.
Bitte vor dem posten lesen:
Wie poste ich eine Frage zu einem Problem?
FAQ / häufig gestellte Fragen
Anzeige-Fehler / Funktionsfehler in wpShopGermany erkennen und selbst beheben
PHTML-Dateien richtig verwenden (für eigene Anpassungen)
Benutzeravatar
Frixi
Beiträge: 1135
Registriert: 29.10.2014, 15:25
Lizenz: keine

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von Frixi »

So, ich habe mir das hier gebastelt:
Bildschirmfoto 2017-05-31 um 22.44.00.png
Folgenden Codeblock verwende ich:

Code: Alles auswählen

<p>					
									<?php /** <a href="mailto:<?php echo $this->view['data']['email']; ?>"><?php echo __('Retourenlabel', 'wpsg'); ?></a> */ ?>
									<a href="https://amsel.dpwn.net/abholportal/gw/lp/portal/[portalname]/customer/RpOrder.action?onInit=
										&delivery=RetourenLager01&SHIPMENT_REFERENCE=<?php echo wpsg_hspc($this->view['data']['onr']); ?>
										&ADDR_SEND_STREET_ADD=<?php echo wpsg_hspc($this->view['data']['onr']); ?>
										&ADDR_SEND_FIRST_NAME=<?php echo wpsg_hspc($this->view['oOrder']->getInvoiceFirstname()); ?>
										&ADDR_SEND_LAST_NAME=<?php echo wpsg_hspc($this->view['oOrder']->getInvoiceName()); ?>
										&ADDR_SEND_NAME_ADD=<?php echo wpsg_hspc($company); ?>
										&ADDR_SEND_EMAIL=<?php echo $this->view['data']['email']; ?>
										&ADDR_SEND_STREET=<?php echo wpsg_hspc($this->view['oOrder']->getInvoiceStreet()); ?>
										&ADDR_SEND_ZIP=<?php echo wpsg_hspc($this->view['oOrder']->getInvoiceZip()); ?>
										&ADDR_SEND_CITY=<?php echo wpsg_hspc($this->view['oOrder']->getInvoiceCity()); ?>
										" target="_blank"><?php echo __('Retourenlabel', 'wpsg'); ?></a>
								</p><br />
Die Daten werden damit direkt ans Retourenportal übertragen:
Bildschirmfoto 2017-05-31 um 22.47.39.png
Leider werden -wie in den rot markierten Feldern ersichtlich- die Sonderzeichen nicht URL-gerecht maskiert. Gibt es hierzu einen einfachen PHP-Befehl, oder müsste hier umständlich codiert werden?
Zuletzt geändert von Frixi am 01.06.2017, 20:54, insgesamt 1-mal geändert.
WP V.6.0.1 - WPNG V.1.1.1 - PHP 7.4.30 - Shop: friXtender.de/shop
Benutzeravatar
maennchen1.de
Administrator
Beiträge: 17868
Registriert: 14.08.2003, 16:55
Lizenz: wpShopGermany Enterprise
Wohnort: Thüringen, Ellersleben
Kontaktdaten:

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von maennchen1.de »

Prima, dann hast du es ja fast! :)
Die Funktion wpsg_hspc() macht htmlentities, welche du an dieser Stelle nicht benötigst. Du kannst sie also komplett entfernen.
Da du eine URL "baust", ist es sogar besser (und einfacher) diese vollständig mit rawurlencode() zu ersetzen. Dann hast du auch keine Probleme mit Sonderzeichen und Umlauten.
Kein Support per PN! Alle Fragen beantworten wir hier im Forum. Per PN bitte nur Passwörter, Namen und URLs - sofern notwendig.
Bitte vor dem posten lesen:
Wie poste ich eine Frage zu einem Problem?
FAQ / häufig gestellte Fragen
Anzeige-Fehler / Funktionsfehler in wpShopGermany erkennen und selbst beheben
PHTML-Dateien richtig verwenden (für eigene Anpassungen)
Benutzeravatar
Frixi
Beiträge: 1135
Registriert: 29.10.2014, 15:25
Lizenz: keine

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von Frixi »

Vielen Dank nochmals für die Tipps, ich habe wpsg_hspc() durch rawurlencode() ersetzt, leider bleibt es bei den "zerstückelten" Sonderzeichen... hier nochmal der angepasste Codeblock:

Code: Alles auswählen

<p>					
	<a href="https://amsel.dpwn.net/abholportal/gw/lp/portal/[portalname]/customer/RpOrder.action?onInit=
	&delivery=RetourenLager01&SHIPMENT_REFERENCE=<?php echo wpsg_hspc($this->view['data']['onr']); ?>
	&ADDR_SEND_STREET_ADD=<?php echo rawurlencode($this->view['data']['onr']); ?>
	&ADDR_SEND_FIRST_NAME=<?php echo rawurlencode($this->view['oOrder']->getInvoiceFirstname()); ?>
	&ADDR_SEND_LAST_NAME=<?php echo rawurlencode($this->view['oOrder']->getInvoiceName()); ?>
	&ADDR_SEND_NAME_ADD=<?php echo rawurlencode($company); ?>
	&ADDR_SEND_EMAIL=<?php echo rawurlencode($this->view['data']['email']); ?>
	&ADDR_SEND_STREET=<?php echo rawurlencode($this->view['oOrder']->getInvoiceStreet()); ?>
	&ADDR_SEND_ZIP=<?php echo rawurlencode($this->view['oOrder']->getInvoiceZip()); ?>
	&ADDR_SEND_CITY=<?php echo rawurlencode($this->view['oOrder']->getInvoiceCity()); ?>
	" target="_blank"><?php echo __('Retourenlabel anfordern', 'wpsg'); ?></a>
</p><br />						
Wenn ich mit der Maus über den Link fahre und in der Statusleiste die URL (Vorschau) betrachte, sehe ich, dass z. B. das "ß" immer noch so in der URL enthalten ist und nicht codiert wurde:
Bildschirmfoto 2017-06-01 um 10.53.09.png
Bildschirmfoto 2017-06-01 um 10.53.09.png (9.67 KiB) 4262 mal betrachtet
Setze ich die Funktion falsch ein?
Zuletzt geändert von Frixi am 01.06.2017, 20:54, insgesamt 1-mal geändert.
WP V.6.0.1 - WPNG V.1.1.1 - PHP 7.4.30 - Shop: friXtender.de/shop
Benutzeravatar
maennchen1.de
Administrator
Beiträge: 17868
Registriert: 14.08.2003, 16:55
Lizenz: wpShopGermany Enterprise
Wohnort: Thüringen, Ellersleben
Kontaktdaten:

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von maennchen1.de »

Schaue bitte mal in den erzeugten Quellcode der Seite. Wird dort die URL richtig erstellt?
Teste bitte auch, ob nicht der Browsercache geleert werden sollte.
Kein Support per PN! Alle Fragen beantworten wir hier im Forum. Per PN bitte nur Passwörter, Namen und URLs - sofern notwendig.
Bitte vor dem posten lesen:
Wie poste ich eine Frage zu einem Problem?
FAQ / häufig gestellte Fragen
Anzeige-Fehler / Funktionsfehler in wpShopGermany erkennen und selbst beheben
PHTML-Dateien richtig verwenden (für eigene Anpassungen)
Benutzeravatar
Frixi
Beiträge: 1135
Registriert: 29.10.2014, 15:25
Lizenz: keine

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von Frixi »

Tatsächlich wird im Quelltext die URL folgendermaßen dargestellt: "&ADDR_SEND_STREET=Argenstra%C3%9Fe", und wenn ich sie im Quelltext anklicke, steht die URL auch so in der Adressleiste - leider sehe ich auch die aufgerufene Seite nur im Quelltext, deshalb kann ich nicht sagen, ob das Feld in diesem Fall korrekt ausgefüllt wird.

Klicke ich den Link aber im Backend an, steht auch in der Adressleiste wieder das "ß"! Seltsam, oder?

EDIT: Ich sehe gerade, dass im Fx vor der Adresse "view_source" steht - wenn ich das lösche, wird die Seite mit dem falsch codierten "ß" im Adressfeld angezeigt und auch in der URL steht wieder das "ß" statt "%C3%9F".

Gerade noch im Safari getestet: funktioniert auch nicht, aber die Kodierung im Adressfeld sieht anders aus: "Argenstraße" - aber die URL wird dort genauso "falsch" (unkodiert) übergeben.
WP V.6.0.1 - WPNG V.1.1.1 - PHP 7.4.30 - Shop: friXtender.de/shop
Benutzeravatar
maennchen1.de
Administrator
Beiträge: 17868
Registriert: 14.08.2003, 16:55
Lizenz: wpShopGermany Enterprise
Wohnort: Thüringen, Ellersleben
Kontaktdaten:

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von maennchen1.de »

Ich würde wetten, dass dann der Zielserver kein UTF8 versteht, sondern nur Latin1 (ISO-8859-1).
Da musst du mittels utf8_decode() zusätzlich deine Strings übersetzen:

Code: Alles auswählen

<?php echo rawurlencode(utf8_decode ($this->view['data']['onr'])); ?>
PS: 1x hast du noch wpsg_hspc() drin.
Kein Support per PN! Alle Fragen beantworten wir hier im Forum. Per PN bitte nur Passwörter, Namen und URLs - sofern notwendig.
Bitte vor dem posten lesen:
Wie poste ich eine Frage zu einem Problem?
FAQ / häufig gestellte Fragen
Anzeige-Fehler / Funktionsfehler in wpShopGermany erkennen und selbst beheben
PHTML-Dateien richtig verwenden (für eigene Anpassungen)
Benutzeravatar
Frixi
Beiträge: 1135
Registriert: 29.10.2014, 15:25
Lizenz: keine

Re: Schaltfläche in der Bestellübersicht einfügen?

Beitrag von Frixi »

Die Funktion utf8_decode() hat es gerichtet, well played, Sir! Herzlichen Dank für die Unterstützung.

Der Code für den Aufruf des Retourenportals sieht nun folgendermaßen aus:

Code: Alles auswählen

<p>
<?php echo __('[ ', 'wpsg'); ?>
<a href="https://amsel.dpwn.net/abholportal/gw/lp/portal/[portalname]/customer/RpOrder.action?onInit=
	&delivery=RetourenLager01&SHIPMENT_REFERENCE=<?php echo $this->view['data']['onr']; ?>
	&ADDR_SEND_STREET_ADD=<?php echo $this->view['data']['onr']; ?>
	&ADDR_SEND_FIRST_NAME=<?php echo rawurlencode(utf8_decode($this->view['oOrder']->getInvoiceFirstname())); ?>
	&ADDR_SEND_LAST_NAME=<?php echo rawurlencode(utf8_decode($this->view['oOrder']->getInvoiceName())); ?>
	&ADDR_SEND_NAME_ADD=<?php echo rawurlencode(utf8_decode($company)); ?>
	&ADDR_SEND_EMAIL=<?php echo $this->view['data']['email']; ?>
	&ADDR_SEND_STREET=<?php echo rawurlencode(utf8_decode($this->view['oOrder']->getInvoiceStreet())); ?>
	&ADDR_SEND_ZIP=<?php echo $this->view['oOrder']->getInvoiceZip(); ?>
	&ADDR_SEND_CITY=<?php echo rawurlencode(utf8_decode($this->view['oOrder']->getInvoiceCity())); ?>
	" target="_blank"><?php echo __('Retourenlabel anfordern', 'wpsg'); ?></a>
	<?php echo __(' ]', 'wpsg'); ?>
</p>
Bildschirmfoto 2017-06-01 um 20.50.47.png
Wer ebenfalls das DHL Retourenportal nutzt, ist herzlich dazu eingeladen, den Code zu verwenden.
WP V.6.0.1 - WPNG V.1.1.1 - PHP 7.4.30 - Shop: friXtender.de/shop
Benutzeravatar
maennchen1.de
Administrator
Beiträge: 17868
Registriert: 14.08.2003, 16:55
Lizenz: wpShopGermany Enterprise
Wohnort: Thüringen, Ellersleben
Kontaktdaten:

Re: [GELÖST] Schaltfläche in der Bestellübersicht einfügen?

Beitrag von maennchen1.de »

:smt038
Kein Support per PN! Alle Fragen beantworten wir hier im Forum. Per PN bitte nur Passwörter, Namen und URLs - sofern notwendig.
Bitte vor dem posten lesen:
Wie poste ich eine Frage zu einem Problem?
FAQ / häufig gestellte Fragen
Anzeige-Fehler / Funktionsfehler in wpShopGermany erkennen und selbst beheben
PHTML-Dateien richtig verwenden (für eigene Anpassungen)
Antworten