How to start learning Magento

A fellow developer asked me how to start with Magento, as in “Where the hell do I start?”. Usually I tell people to RTFM or buy a book. That’s rather hard in the case of Magento, because documentation is really bad or simply missing. I have to give them credit for finally starting some serious documentation/how-to’s in their new knowledge-base.

Reading books about Magento is a dangerous path to take, because of the fast release cycle of Magento. Books released yesterday, might be out of date tomorrow. At the time of writing, the only up-to-date book for Magento 1.4 are:

  • None
  • at the
  • moment

There are however many 1.3 books to choose from, so you might try your luck there. Please note that the database structure of Magento has some big differences between 1.3 and 1.4. You should expect changes in the API too because of this.

So, to recap: we have a very complex e-commerce application, we don’t have any up-to-date books and the manual simply sucks sucked… Peter to the rescue! There’s still a way to get into Magento and that’s by doing two things. Watch out, it requires reading!

First off, read the new tutorials in Magento’s new knowledge base. This should give you a good idea about the complexity of Magento and enlighten you with some of the logic behind the complexity.

Magento - Template Path Hints

Magento - Template Path Hints

Secondly, turn on the best feature of Magento: “Template Path Hints”. It fixes the most common Magento issue during theme development: “Where in my file tree do I find that block???”. Template Path Hints show you all the locations of your blocks in the front end of your shop. See the video below for a brief how-to.

An extra useful tip would be to learn Zend Framework. Magento is based on Zend Framework. Learning and understanding Zend Framework should make your Magento career a lot easier.

Snel en eenvoudig thumbnails genereren met timthumb

Bij zowat elke site loop je tegen het maken van thumbnails aan. Content managers moeten afbeeldingen uploaden en resizen. Dit gebeurt vaak uit tijdgebrek via de alom bekende WYSIWYG editor zoals TinyMCE. Hierdoor ziet de afbeelding er kleiner uit, maar qua bestandsgrootte blijft de afbeelding natuurlijk even groot.

Een PHP script die hier uitkomst kan bieden is timthumb, één van de meest eenvoudige en effectieve thumbnail generator scripts.

Het enige wat je hoeft te doen is het PHP-bestand van timthumb (hier te downloaden) aan te roepen met enkele parameters:

src - bron van de afbeelding
w - breedte van de afbeelding in pixels, bijv. 200
h - hoogte van de afbeelding in pixels, bijv. 100
q - kwaliteit van de afbeelding in procenten. Is standaard 75. Persoonlijk zet ik deze altijd op 100 (%).
zc - zoom crop. Zet op 1 om te zoomen en te croppen in plaats van alleen maar te resizen/croppen.

Een voorbeeld timthumb aanroep zou dan zijn:
< img src="timthumb.php?src=images/afbeelding.jpg&w=250&h=125&q=100&zc=0" alt="Afbeelding" / >
In het voorbeeld zal de afbeelding ‘images/afbeelding.jpg’ geresized worden, zonder te zoomcroppen, op 250×125 pixels. De kwaliteit is op 100% gezet.

Zoekmachine vriendelijk dankzij caching

Na de bekendmaking van Google dat snelheid van websites ook meetelt als ranking factor, is het erg belangrijk dat het maken van deze thumbnail niet teveel resources in beslag neemt. Gelukkig hebben de ontwikkelaars van timthumb een caching-mechanisme ingebouwd zodat het aanmaken van de thumbs niet elke keer hoeft te worden uitgevoerd. De thumbnails worden gecached en standaard opgeslagen in het mapje thumbs, in dezelfde map als het script. Denk erom dat je de map thumbs genoeg rechten geeft (chmod 777 op de map zou voldoende moeten zijn) zodat er ingeschreven kan worden.

Worden deze afbeeldingen wel geïndexeerd door zoekmachines?

Jazeker! Google indexeert gewoon de meegegeven parameters (de belangrijkste is in dit geval “src” en zorgt ervoor dat de afbeeldingen afzonderlijk geïndexeerd worden. Het is geen verkeerd idee om in Google Webmastertools in te stellen dat de andere parameters genegeerd worden: w, h, q en zc.

Deze vier parameters hebben geen meerwaarde voor de zoekmachines en zorgen ervoor dat de parameter “src” meer waarde krijgt, al is het waarschijnlijk maar een miniem verschil.

Eerlijkheidshalve moet ik wel toegeven dat het optimaler zou zijn om de afbeeldingen als ‘/afbeelding.jpg’ in de code te hebben staan i.p.v. ‘/timthubm.php?src=afbeelding.jpg’ maar het is altijd beter dan de bekende afbeelding-namen die via een hash gegenereerd zijn.

Conclusie

Timthumb is een uitstekende oplossing om snel en eenvoudig thumbnails te maken. Zelf heb ik het zowel in MODx als WordPress installaties gebruikt en tot zover geen problemen ondervonden. Een aanradertje!

Timthumb is gratis te downloaden op Google Code: http://code.google.com/p/timthumb/