Andries filmer

Feel free with Open Source Software

Andries Filmer - Internet professional sinds 1996.
Ik ben groot voorstander van Free- en Opensource Software (FOSS) en laat deze site jouw overtuigen waarom dit goed is.
Home Over deze website Kennisbank Ezelsoren Freelancer Online gereedschap

ossComputers gaat Prestashop gebruiken

Inhoud
  1. Introductie
  2. Installatie
  3. Hooks
  4. Templates
  5. Mijn nederlandse vertaling
  6. Mail Template aanpassingen
  7. Kleine PDF factuur aanpassingen
  8. Factuurnummers en ordernummers
  9. iDeal implementatie
  10. Order recovery
  11. Bugs
  12. Trackingcode
  13. Meer informatie
  14. Commentaren

Introductie

Omdat ik voor ossComputers een webshop nodig heb ben ik gaan zoeken voor een goede open source webshop. Er zijn er genoeg om uit te kiezen (Magento,Oscommerce,Joomla/Virtuemart,Zenchart) maar welke kies je?

Na wat recenties te lezen heb ik besloten om prestashop te kiezen. Het is een eenvoudige webshop die snel te installeren is en doet alles wat ik nodig heb. Een andere reden waarom ik Prestashop heb gekozen was dat een (ex) collega enorm enthousiast is over Prestashop (en ik nu ook).

Ik heb dit artikel gemaakt omdat ik tegen een paar kleine puntjes aanliep die niet zo duidelijk waren bij het inrichten en configureren van de Prestashop.

Installatie

De installatie is heel eenvoudig en de configuratie spreekt voor zich. Deze webshop kan iedereen, die weet wat 'ftp' is, in de lucht krijgen. Ik had wel wat moeite om te begrijpen wat hooks waren.

Hooks

Als je na de installatie de modules in de webshop wilt zetten doe je dat met 'hooks'. De website heeft een vaste indeling die wel erg flexibele is. Hieronder zie je de standaard indeling die je met stylesheets kan aanpassen.

Hooks (Elk vak is een hook)

Nu kan je in de 'backoffice' modules installeren en daarna in een van deze vakken haken (hooks). Het onduidelijke van deze hooks is dat je niet elke module in elk vak kan plaatsen. Ik plaatste bijvoorbeeld een 'CMS-block' module in de 'footer' maar er gebeurde niets! Nu blijkt dat je niet standaard elke module in elke vak kan zetten. Dat kan wel maar dan moet je in het module.php script zelf een 'hook' maken. Dat is niet moeilijk maar je moet het wel weten.

Templates

Je wilt de webshop natuurlijk een eigen gezicht/stijl geven. Er zijn heel veel templates te vinden voor Prestashop. Er zijn een paar gratis templates te krijgen. Deze zijn echter niet zo bijzonder. Je kan de standaard stylesheet (global.css) aanpassen en zelf aan de slag gaan of je kan voor rond de $100 een template kopen. Hoewel ik zelf de standaard template heb verbouwd raad ik aan er een te kopen. Het is namelijk heel veel werk. Ik heb een paar dagen lopen stoeien met de templates. Er zijn ook nog mail templates, pdf templates, de bestelling procedure en als je als klant bent ingelogd zijn er nog meer pagina's die een opmaak nodig hebben (tenminste als je die ook een eigen stijl wilt geven).

Mijn nederlandse vertaling

Ik heb van de prestashop de Nederlandse vertaling gehaald, maar deze was niet volledig en soms ook niet goed. Deze heb ik veranderd. Je kan deze hier downloaden

Ik zou het liefste contact willen leggen met degene die de Nederlandse vertaling doet voor Prestashop, maar ik kan die niet vinden. Als iemand dit wel weet hoor ik dat graag.

Mail Template aanpassingen

Hieronder staan nog wat 'advanced' aanpassingen die je via de 'commandline' kunt aanpassen.

Ik heb de kleur veranderen in de mail templates van grijs/blauw en rose, naar grijs en groen.

 find www/mails/nl/*.html | xargs perl -pi -e 's/#374953/#76B415/g'
 find www/mails/nl/*.html | xargs perl -pi -e 's/#db3484/#5f5f5f/g'

Hallo naar beste
In de mail templates word telkens 'Hallo' gebruikt. Deze heb ik aangepast naar 'Beste'.

 find /home/shop.osscomputers.nl/www/modules/ |  xargs perl -pi -e 's/Hallo/Beste/g'

Kleine PDF factuur aanpassingen

Ik wilde ook een groter logo op de factuur en daarvoor moet je de /classes/PDF.php aanpassen

Klein beetje groter logo

 $this->Image(_PS_IMG_DIR_.'/logo_invoice.png', 10, 8, 0, 30); // Line 153

Iets kleiner font voor het factuurnr

 $this->SetFont(self::fontname(), 'B', 13); // Line 156

Lijn hoogtes iets kleiner in de header

 $pdf->MultiCell($width, 4, $addressType[$type]['displayed'], 0, 'L', 0); // Line 471

I wilde de zelfde boodschap op de order als op de factuur. De boodschap 'Electronische factuur'. Dus schakelde ik de volgende lijnen uit.

 //if (!self::$delivery)                   // Line 262, 263, 272,273,274

Omdat ik een groter logo heb, moest ik de 'body' van de factuur iets lager zetten.

 $pdf->SetY(40);                           // Line 344
 $pdf->SetFont(self::fontname(), , 11);    // Line 345
 $pdf->SetFont(self::fontname(), , 11);    // Line 439
 $pdf->SetY(40);                           // Line 519
 $pdf->SetFont(self::fontname(), 'B', 13); // Line 520

Factuurnummers en ordernummers

Je wilt natuurlijk niet starten met factuurnr 12 of zo iets. Je kan in 'Back office' zelf bepalen met welk factuurnr je wilt beginnen. Klik op tab orders -> Dan klik je op 'invoices' en vul je zelf het start nummer in,

Het 'Order-id' is bijna het zelfde 'Back Office -> Orders -> Delivery Slips'

iDeal implementatie

Er is in de Prestashop 'addons' een iDeal module te koop. Maar er is ook een gratis module. Ze vragen wel om een donatie, maar deze benadering vind ik leuker.

De nieuwste versie van Prestashop (1.4) heeft een zgn. 'security key' en dat is nog niet verwerkt in deze module. Ik heb deze check op line 153 en 154 in: /classes/PaymentModule.php uitgezet.

Order recovery

Bij één van mijn eerste klanten ging de betaling goed maar was de order niet gemaakt in 'Backoffice'. De 'Cart' was wel gemaakt welke je kan zien bij 'customers'. Je wil natuurlijk dat er ook een 'factuur' wordt gemaakt. Dat kan met de volgende gratis module.

Ik had problemen op het moment dat ik op de 'details' icoon klikte bij Winkelmanden (Carts). Er kwam een melding 'Tab kan niet gevonden worden'. Dat heb ik opgelost door een extra regels in '/ADMIN/tabs/AdminCustomers.php' te zetten die verwijst naar AgileCartsExt. Je krijgt dan nog wel een beveiligingsmelding, maar ik negeer deze en kan daardoor wel een factuur aanmaken van een winkelmand.

regel 582

 <th class="center">'.$this->l('Add').'</th>

regel 598

 <td align="center"><a href="index.php?tab=AgileCartsExt&id_cart='.$cart['id_cart'].'&viewcart&token='.$tokenCarts.'">
 <img src="../img/admin/commercial.gif" title="Create invoice from Cart"/></a></td>

Met dank aan 'Agile Cart Recovery'.

Bugs

Als je 'Friendly URL' aanzet is er tijdens het 'checking out' procedure op de 'Address tab' een bug. Als je klikt op 'Gebruik zelfde adres voor factuur' of 'Kies ander adres' met de selectbox krijg je een 'ajax' error.

Je kan deze oplossen door in classes/FrontController.php de volgende regel:

 if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', (($this->ssl \
 AND Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))

Te veranderen in:

 if (!Tools::getValue('ajax') && !preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', (($this->ssl \
 AND Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))

Trackingcode

Als je een pakket naar de klant verstuurd krijg je een trackingcode. Deze wil je natuurlijk graag communiceren naar de klant. Je moet eerst de status van de order op 'shipping' zetten voordat je een trackingcode kan invullen. Je moet overingens eerst bij 'Beheersysteem Shipping Carriers' de URL invullen. In mijn geval is dat 'http://www.postnlpakketten.nl/klantenservice/tracktrace/basicsearch.aspx?lang=nl@'. Op het einde staat een '@', deze wordt vervangen door de tracking code die je invult bij de order. Ik vul bij de trackingcode ook de postcode achter de tracking code omdat postnl deze nodig heeft. Dus bijvoorbeeld: '&B=3SYFNL04523452345425&P=2040AL'.

Meer informatie

Deze pagina is gemaakt op 2011-08-14 en aangepast op 2011-11-06

Ik zou heel leuk vinden als je laat weten wat je van deze pagina vindt. Plaats gerust commentaar.
Je e-mailadres wordt niet gepubliceerd het is alleen om eventueel contact met je op te nemen.

 
Jouw naam
Jouw e-mailadres
Om te voorkomen dat robots dit formulier gebruiken vraag ik vriendelijk of je de volgende karakters wilt over typen.
 
Jouw Gravatar Commentaar van Paul van der Vlis geplaatst op 2011-09-11
Heel leuk dat je dit publiceert.

Groet,
Paul.
Jouw Gravatar Commentaar van Jos geplaatst op 2011-10-05
Beste,
Van harte proficiat met je mooie webshop. Heel duidelijk, overzichtelijk en vooral niet
schreeuwerig. Klasse.

Ben ook van plan om mijn fysieke winkel online te zetten met een Prestashop. Heb
gesprek gehad met een webhoster die werkt met Prestashop maar na enig opzoekwerk
vind ik 100-en templates (veelal betalend). Daar had hij mij niets over verteld en ik
vrees dat zijn commerciële kennis iets te beperkt is en dat hij maar met 1 standaard template
werkt. Van de betalingsmogelijkheden (visa-bancontact) kende hij weinig of niets. Het zal
me nog veel tijd kosten maar ik wil dan ook ineens goed van start gaan met mijn webshop.

Groetjes en veel succes met de verkoop!

Jouw Gravatar Commentaar van Sander geplaatst op 2011-11-12
Hoi,

Hele handige en nuttige tips.

Ik heb je taalbestand gebruikt, mijn dank daarvoor. Ik heb alleen nog 1 probleem met de teksten
navigatie die blijven in het engels staan als ik voor Nederlands kies. Kies ik voor duits of iets anders dan veranderen ze wel.
Heb jij misschien enig idee waar dit aan kan liggen ?

Groet,
Sander
Jouw Gravatar Commentaar van Andries geplaatst op 2011-11-13
Hallo Sander,

Ik denk dat je de navigatie in het admin gedeelte bedoeld.

Zelf gebruik ik de engels 'admin'. Waarschijnlijk zijn de vertalingen van
Beheersysteem -> Tools -> Translations -> Beheersysteemvertalingen niet gedaan.

 


Mijn Curriculum vitae | De content op deze website heeft de Creativecommons 3.0 licentie | © 2011
Andries Filmer | http://andries.filmer.nl | andries@filmer.nl | © 2011
Deze website wordt gerealiseerd met Free- en Open Source Software: | | | | | |