Bedankt voor de heldere uitleg hierboven!
De e-mail naar klanten werkt erg goed.
Nu zit ik alleen met het volgende:
Ik zou graag ook aan de admin kant de url gebruiken.
Echter, ik kan in de tracking popup nergens de variabele postcode terugvinden (die wordt niet standaard opgevraagd).
Heeft iemand een idee hoe ik deze kan achterhalen.
(ik heb de url al zover dat ik naar de TNT site ga met ingevulde track en trace code maar dan mis ik nog de postcode)
Als je test, wekt het alleen als je een echte TNT pakketcode gebruikt met de postcode die echt bij die TNT code hoort. Ik heb ook een hele tijd gedacht dat het niet werkte, omdat ik een TNT code gebruikte in combinatie met een test-account. Maar dat test-account had een andere postcode, waardoor de TNT website iedere keer lege gegevens toonde. Heeft me heel wat uurtjes gekost voor ik dat in de gaten had, dus,…
weet je zeker dat je test met een TNT pakketcode en een useraccount dat de bijpassende postcode bij de pakketcode heeft?
Ik was eigenlijk in de veronderstelling dat mijn webdesigner ervoor had gezorgd dat de trackinggegevens in de verzend email komen maar dat blijkt helemaal niet zo te zijn. De enige manier waarop mijn klanten hun Tracking nummer kunnen zien is door in te loggen.
Heb dus wel de file aangepast zoals hierboven uitgelegd maar uiteraard komt er niks in de verzend email. Naar welke map zou ik de file moeten verplaatsen om het stukje “Tracking” toe te voegen aan de verzend mail. Of moet ik daar iets anders voor doen?
Deze code werkt prima voor mij, alleen ik wil ook het land erin hebben.
Nu als ik een buitenlandse verzending heb dan werkt de link niet goed omdat hij NL als land neerzet.
Er wordt nu eerst gekeken naar het land waar het pakket naar toe gaat. Als dat niet Nederland is wordt er “&I;=True” aan het pakket nummer geplakt anders de postcode.
Dit draadje heeft me de benodigde informatie gegeven om een mooie aanklikbare link te maken in de verzendmail. De werking van het huidige script voldoet nog niet voor wat ik ermee wil doen. Aangezien e.e.a. bij ons nu nog kleinschalig verloopt, maak ik de orders bij de verzenddiensten handmatig aan. En uiteraard wil ook ik toch die mooie aanklikbare link in de verzendmail aan mijn klanten. Klikken en meteen de benodigde gegevens tonen. Ik werk nu met 2 verschillende verzendmethoden. DHL4you en PostNL. Wellicht zal er nog een optie bij komen. Het script moet dus makkelijk zijn aan te passen. Aangezien het huidige script voor 1 aanbieder werkt (en de originele data volgens mij overruled?), heb ik er op met behulp van jullie informatie maar eens een eigen versie van gemaakt. Een versie die geschikt is voor meerdere verzendmethodes en indien nodig toch gewoon de eigen code van magento gebruikt.
Ik ben geen programmeur dus waarschijnlijk kan het netter, maar onderstaande doet in ieder geval wat ik wil.
Aangezien er waarschijnlijk wel meer mensen zijn die iets dergelijks zoeken, bij deze mijn bijdrage aan dit geweldige forum.
Het lijkt alsof met knippen en plakken de code her en der wordt afgebroken en op een nieuwe regel wordt gezet.
Het bestand is daarom als bijlage toegevoegd.
*5-3-12 track.phtml Opnieuw toegevoegd. Uitleg m.b.t. de locatie waar het bestand moet komen te staan bijgewerkt.
/** * Onderstaande code bevat een aanpassing waarmee je een klikbare link in je verzendbericht kan genereren. * Deze methode is geschikt voor verschillende verzendmethodes in één winkel. * De code werkt ook bij gebruik van meerdere track & trace codes in één verzendbericht die via verschillende verzendmethodes verlopen. (nodig of nuttig? geen idee, maar het werkt :o)) * Uitleg aanwezig in de code. De code is zodoende makkelijk uit te breiden als je daar behoefte aan hebt. * Om het originele bestand van magento niet te overschrijven, plaats je het bestand in: * /public_html/app/design/frontend/default/jouw template/template/email/order/shipment * aangezien kennelijk niet bij alle templates het bestand gelezen word, kan het zijn dat de linkjes niet gegenereerd worden. * In dit geval plaats je het bestand in: * /public_html/app/design/frontend/default/default/template/email/order/shipment * maak altijd een backup van het originele bestand als dat wel aanwezig is. Dit script is getest en werkt probleemloos onder magento 1.6, maar toch voor het geval dat... * Als het pad niet bestaat dan moet je deze zelf aanmaken. * succes */
// verzendmethode contoleren en onderstaande code uitvoeren indien waar. // Let op! deze controle is gevoelig voor hoofdletters! dhl4you is dan ook niet hetzelfde als DHL4you! case DHL4you: $url = "https://dhlforyou.nl/login/track/$tracecode";?> <tr <?php echo $i%2?'bgcolor="#F6F6F6"':'' ?>> <td align="left" valign="top" style="padding:3px 9px"><?php echo $_item->getTitle() ?></td> <td align="center" valign="top" style="padding:3px 9px"><a href="<?php echo $url?>"><?php print $tracecode ?></a></td> </tr>
<?php // automatisch uitvoeren verdere code hier beeindigen i.v.m. gebruik switch functie. // anders worden onderstaande voorwaarden uitgevoerd ongeacht de gestelde case voorwaarde break;
// Herhaling van bovenstaande controle op basis van een nieuwe voorwaarde. case PostNL: // Om de juiste url te generen, moeten we eerst controleren naar welk land de bestelling verzonden wordt if ($country == "NL") { $url = "https://mijnpakket.postnl.nl/Claim?Barcode=$tracecode&Postalcode;=$zipcode&Foreign;=false&vind;-pakket=Zoek+mijn+pakket";} else { $url = "https://mijnpakket.postnl.nl/Claim?Barcode=$tracecode&Foreign;=true&vind;-pakket=Zoek+mijn+pakket";}?> <tr <?php echo $i%2?'bgcolor="#F6F6F6"':'' ?>> <td align="left" valign="top" style="padding:3px 9px"><?php echo $_item->getTitle() ?></td> <td align="center" valign="top" style="padding:3px 9px"><a href="<?php echo $url ?>"><?php print $tracecode ?></a></td> </tr>
<?php break;
//Als niets van bovenstaande van toepassing is gebruiken we weer gewoon de eigen code van Magento. default: ?> <tr <?php echo $i%2?'bgcolor="#F6F6F6"':'' ?>> <td align="left" valign="top" style="padding:3px 9px"><?php echo $_item->getTitle() ?></td> <td align="center" valign="top" style="padding:3px 9px"><?php echo $_item->getNumber() ?></td> </tr>