GrezZeR Posted October 31, 2013 Share Posted October 31, 2013 Hej, Har nu försökt ett tag att hitta en lösning på detta, har installerat en "template editor" men det hjälpte inte till för att lösa detta problemet. Enligt den som jag installerade skulle jag lägga till "{message}" i html filen för new_order.html När jag gjorde detta så ändrades inget för mig. Har även testat att göra det på order_conf.html eller vad det nu var filen hette men detta hjälpte inte det heller, där visades dock texten som jag skrev. Men fick inte fram något meddelande, stod bara "Kommentar på order: {message}" Det jag vill ha är alltså att när en kund beställer något på hemsidan så vill jag att meddelandet som kunden har skrivit ska synas på ordern som skickas till min mail. När en kund lägger en beställning får jag ju ett mail till min inkorg, där jag ser vad kunden har beställt och leveransuppgifter osv. Detta mail skriver jag sedan ut och går och packar ordern till kunden. Men om jag ska kunna se i dagsläget om kunden har skrivit någon kommentar på sin order så måste jag sätta mig vid datorn och gå in på ordern i prestashop för att kunna se om kunden har skrivit något. Detta tar ju en del utav tiden som istället skulle kunna gå till att packa ordern snabbare och effektivt. Så har lite frågor angående detta. Är det rätt fil som jag har försökt att editera i? "new_order.html" Vad är det jag ska lägga till där för att ha möjlighet att direkt i det mailet jag får kunna se om kunden har lämnat en kommentar, och isåfall kunna läsa den direkt i mailet / pappert jag skriver ut? Jag kör med Prestashop 1.4.7 Link to comment Share on other sites More sharing options...
Patrik Lindblom Posted October 31, 2013 Share Posted October 31, 2013 Ja, det är filen new_order.html som du ska redigera. Kolla i modules/mailalerts/mails/sv/new_order.html Kollade i en fil från en installation med en 1.4.*-version, där ser koden ut så här: <tr> <td align="left" style="background-color:#DB3484; color:#FFF; font-size: 12px; font-weight:bold; padding: 0.5em 1em;">Meddelande från kund</td> </tr> <tr><td> </td></tr> <tr> <td align="left"> <strong>{message}</strong> </td> </tr> Link to comment Share on other sites More sharing options...
GrezZeR Posted November 4, 2013 Author Share Posted November 4, 2013 Tack så hemskt mycket. Visste inte att det var där inne jag skulle ändra. Ändrade på fel ställe när jag försökte innan. Har en fråga till som jag hoppas kunna få hjälp med. Hade även velat ha så att man kunde visa vilken grupp som kunderna tillhör när dom beställer. Finns det något liknande {message} att skriva för att visa vilken grupp man tillhör, t.ex. {group_id} eller något sånt. Har försökt hitta en lista där alla dessa koder finns och vad dom används till men har inte hittat något än. Link to comment Share on other sites More sharing options...
Patrik Lindblom Posted November 4, 2013 Share Posted November 4, 2013 Vad som skickas till template och som är tillgängligt där mellan { och } hittar du i mailalerts.php, leta efter $templateVars. Prova att ändra: '{message}' => $message till: '{message}' => $message, '{id_group}' => $customer->id_default_group Tänk på att du i så fall ändrar i en standardmodul och att ändringarna kommer att skrivas över vid en uppgradering. Link to comment Share on other sites More sharing options...
GrezZeR Posted November 4, 2013 Author Share Posted November 4, 2013 Det fungerade alldeles utmärkt det här! Jag tackar så hjärtligt för hjälpen. Nu börjar det bli allt mer som jag själv vill ha det. Link to comment Share on other sites More sharing options...
GrezZeR Posted December 16, 2013 Author Share Posted December 16, 2013 Har nu även försökt få med vilken grupp som användarna tillhör på mailen som skickas till mig vid order. Detta verkade vara svårare än jag trodde från början. Har kommit så pass långt att jag har fått ut numret på gruppen som folk tillhör. Men vill att det ska visas namnet på gruppen. Har kört med '{id_group}' => $customer->id_default_group, Men det visar som sagt endast vilken grupp man tillhör med hjälp av siffror. Texten för vilken grupp man tillhör visas ju i group_lang , under "name" , har försökt skriva en egen rad för det i mailalerts.php men verkar inte bli som jag vill, fältet blir blankt. Har testat att skriva: '{id_group_name}' => $group_lang->name Men detta fungerar som sagt inte. Någon som vet vad jag ska skriva för att få fram rätt resultat? Link to comment Share on other sites More sharing options...
PhpMadman Posted January 10, 2014 Share Posted January 10, 2014 Det här borde fungera. Dock har jag bara kodat för 1.5-1.6 tidigare, men det borde fungera i 1.4 $group = new Group($customer->id_default_group); Placera koden ovan innan $templateVars {group_name} => $group->name Link to comment Share on other sites More sharing options...
GrezZeR Posted January 13, 2014 Author Share Posted January 13, 2014 On 1/10/2014 at 8:08 AM, PhpMadman said: Det här borde fungera. Dock har jag bara kodat för 1.5-1.6 tidigare, men det borde fungera i 1.4 $group = new Group($customer->id_default_group); Placera koden ovan innan $templateVars {group_name} => $group->name Testade att lägga in det, men i mailen som jag får nu med den här koden så står det "Kundens grupp: Array" Verka inte som det fungerar, kanske är jag som la in koden fel, vet inte riktigt. Skrev in: $group = new Group($customer->id_default_group); precis ovanför raden: $templateVars = array( Dvs just nu så står det såhär i min mailalerts.php: $group = new Group($customer->id_default_group); $templateVars = array( Link to comment Share on other sites More sharing options...
PhpMadman Posted January 14, 2014 Share Posted January 14, 2014 Hej. Nej det verkar som om 1.4.7 skiljer sig för mycket från 1.5 för att det ska funka så. Men testa och ändra till {group_name} => print_r($group->name) så får vi se om du får något i arrayen, eller som den är tom. Annars kanske jag har en annan lösning. Link to comment Share on other sites More sharing options...
GrezZeR Posted January 14, 2014 Author Share Posted January 14, 2014 On 1/14/2014 at 8:23 AM, PhpMadman said: Hej. Nej det verkar som om 1.4.7 skiljer sig för mycket från 1.5 för att det ska funka så. Men testa och ändra till {group_name} => print_r($group->name) så får vi se om du får något i arrayen, eller som den är tom. Annars kanske jag har en annan lösning. Nu står det inte Array längre, istället så får jag siffran på vilken grupp jag tillhör. Dock så är det fel siffra, jag får att jag tillhör grupp nr 1 men jag tillhör grupp 2 Link to comment Share on other sites More sharing options...
PhpMadman Posted January 14, 2014 Share Posted January 14, 2014 Okey. Ska försöka hinna skriva en ny kod senare idag, måste packa alla odrar först. Link to comment Share on other sites More sharing options...
GrezZeR Posted January 14, 2014 Author Share Posted January 14, 2014 (edited) On 1/14/2014 at 9:16 AM, PhpMadman said: Okey. Ska försöka hinna skriva en ny kod senare idag, måste packa alla odrar först. Tack så hemskt mycket för att du försöker hjälpa! Anledningen att jag hellre vill ha namnet på gruppen än ID på gruppen är för att minimera risken att någon ny som ska skriva fakturor skriver fel när de ska skapa fakturan i vårt faktureringsprogram. Har hänt vid ett tillfälle redan att någon har skrivit en vanlig faktura trotts att de egentligen skulle ha en företagsfaktura. Detta gör ju såklart att kunderna blir irriterade när det kommer fel fakturor till dem. Därför vill jag hellre ha "Kunden tillhör: Standardkund" samt "Kunden tillhör: Företagskund" t.ex. Kan som sagt bli lite rörigt så som det ser ut idag när det står "Kunden tillhör: 1" och "Kunden tillhör: 2" Edited January 14, 2014 by GrezZeR (see edit history) Link to comment Share on other sites More sharing options...
PhpMadman Posted January 14, 2014 Share Posted January 14, 2014 (edited) Snabb hack för att stödja enbart 2st grupper. {group_name} => ($customer->id_default_group == 1 ? 'Standard' : 'Företag'); Detta gör, om kund är i grupp 1, skriv Standard, annars Företag Fungerar dock inte om du har gäst funktionen aktiverad, då gäster kommer skrivas som Företag då. Skriver en ordentlig kod, som fungerar med flera grupper och gäster senare. Edited January 14, 2014 by PhpMadman (see edit history) Link to comment Share on other sites More sharing options...
GrezZeR Posted January 14, 2014 Author Share Posted January 14, 2014 On 1/14/2014 at 9:47 AM, PhpMadman said: Snabb hack för att stödja enbart 2st grupper. {group_name} => ($customer->id_default_group == 1 ? 'Standard' : 'Företag'); Detta gör, om kund är i grupp 1, skriv Standard, annars Företag Fungerar dock inte om du har gäst funktionen aktiverad, då gäster kommer skrivas som Företag då. Skriver en ordentlig kod, som fungerar med flera grupper och gäster senare. Ah okej, då får jag vänta tills du har skrivit den andra koden. Har dessvärre gästkassan öppen så kan inte använda denna då. Kan ju även vara bra precis som du säger att kunna använda fler grupper. Man vet ju aldrig vad som händer i framtiden om man behöver lägga till fler grupper. Då blir det bättre att ha en kod som klarar av att hantera flera grupper samtidigt utan problem. Åter igen, tack så mycket för att du hjälper till! Link to comment Share on other sites More sharing options...
PhpMadman Posted January 14, 2014 Share Posted January 14, 2014 Okey. Helt otestad kod, men borde funka. Vi behöver en ny funktion, så scrolla upp i mailalets.php tills du kommer till hookNewOrder Borde ligga runt 50-60 rader ovanför $templateVars. Lägg in min _getGroup kod där. private function _getGroup($id_group, $id_lang) { $result = Db::getInstance()->ExecuteS(' SELECT gl.`name` FROM '._DB_PREFIX_.'group_lang gl WHERE gl.`id_group` = '.(int)$id_group.' AND gl.`id_lang` = '.$id_lang); return $result; } public function hookNewOrder($params) { Sen i templateVars ska ska vi nu använda {group_name} => $this->_getGroup($customer->id_default_group, $id_lang) Det borde funka för alla kundgrupper. Link to comment Share on other sites More sharing options...
GrezZeR Posted January 14, 2014 Author Share Posted January 14, 2014 On 1/14/2014 at 11:05 AM, PhpMadman said: Okey. Helt otestad kod, men borde funka. Vi behöver en ny funktion, så scrolla upp i mailalets.php tills du kommer till hookNewOrder Borde ligga runt 50-60 rader ovanför $templateVars. Lägg in min _getGroup kod där. private function _getGroup($id_group, $id_lang) { $result = Db::getInstance()->ExecuteS(' SELECT gl.`name` FROM '._DB_PREFIX_.'group_lang gl WHERE gl.`id_group` = '.(int)$id_group.' AND gl.`id_lang` = '.$id_lang); return $result; } public function hookNewOrder($params) { Sen i templateVars ska ska vi nu använda {group_name} => $this->_getGroup($customer->id_default_group, $id_lang) Det borde funka för alla kundgrupper. Nu får jag "Array" igen i mailet, förstår inte varför det inte vill fungera. Link to comment Share on other sites More sharing options...
PhpMadman Posted January 14, 2014 Share Posted January 14, 2014 Kör en med print_r, så får jag se vad du får för resultat. {group_name} => print_r($this->_getGroup($customer->id_default_group, $id_lang)) Link to comment Share on other sites More sharing options...
GrezZeR Posted January 14, 2014 Author Share Posted January 14, 2014 On 1/14/2014 at 11:26 AM, PhpMadman said: Kör en med print_r, så får jag se vad du får för resultat. {group_name} => print_r($this->_getGroup($customer->id_default_group, $id_lang)) Nu står det "Grupp: 1" istället för Array, dock så tillhör jag grupp 2, så det står fel grupp nu också. Link to comment Share on other sites More sharing options...
PhpMadman Posted January 14, 2014 Share Posted January 14, 2014 Okey. Det innebär att print_r inte fungerar att anropa så. Men om du tar bort print_r igen, och sen ändrar ExecuteS till getValue Link to comment Share on other sites More sharing options...
GrezZeR Posted January 14, 2014 Author Share Posted January 14, 2014 On 1/14/2014 at 11:40 AM, PhpMadman said: Okey. Det innebär att print_r inte fungerar att anropa så. Men om du tar bort print_r igen, och sen ändrar ExecuteS till getValue Underbart nu verkar det fungera perfekt. Måste kolla igenom allt igen innan jag med 100% säkerhet kan säga att det fungerar precis som det ska. Men nu står det "Företagskunder" istället för 1,2 eller Array. Tusen tack för hjälpen! Är det okej om jag skickar dig ett PM eller skriver här i tråden om det skulle uppstå något mer frågetecken kring denna funktion? Link to comment Share on other sites More sharing options...
PhpMadman Posted January 14, 2014 Share Posted January 14, 2014 Jadå, det är bara att skriva. Dock svarar jag nog inte förens imorgon om du skriver mer idag. Slutar jobbet snart. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now