När du jobbar i controllern händer det att vi vill skicka clienten vidare någon annan stans. Det kan också hända att vi inte vill starta om hela processen med en ny tråd utan bara peka om till en annan action. Posten går igenom lite enkelt hur detta går till.
Tag / PHP
Länka rätt med routern
När vi jobbar med MVC och Magento så jobbar vi också ofta med en router som fördelar trafiken. Detta gör att en modul kan få en ny url-struktur när som helst. För att då inte behöva leta reda på alla dessa länkar bara för att göra om dom så använder vi en metod som heter ”getUrl” och som ligger i classen ”Mage ”.
Ta bort footer länkar
I Magento har vi footerlänkar som vi enkelt kan ta bort i vår local.xml fil som finns i temat.
app/design/frontend/default/default/layout/local.xml
Vi lägger till följande för att ta bort länken till avancerad sökning
<layout> <default> [...] <reference name="footer_links"> <action method="removeLinkByUrl"> <url helper="catalogsearch/getAdvancedSearchUrl" /> </action> </reference> [...] </default> </layout>
Module controller action
Fortsättning på inlägget: Skapa en modul
Flera kontrollers
Automatiskt så går routern till index kontrollern i inlägget nämnt ovan. Vill du gå till en annan kontroller så gör du en kopia av indexController.php -filen och döper om denna kopia till t.ex. fooController.php
OBS! Glöm inte att ändra namnet på klassen inne i filen
Skapa en modul
En kort beskrivning om hur man gör en enkel ”Hellow world..” modul till Magento.
Loopa kategorier & produkter
Följande rad kod kan man använda för att loopa igenom affärens kategorier i Magento:
foreach( Mage::helper('catalog/category') ->getStoreCategories() as $category )
$category variabeln är av klasstypen Varien_Data_Tree_Node
Lägg till en template
Säg att man vill göra en helt ny template från början till sitt tema i Magento. Har funnit en del lösningar på hur man kan göra detta men jag tycker dom alla involverar att ändrar i kärnans källkod.
En lösning som jag nu använder och är nöjd med är att jag skapar en egen modul som säger till Magento att jag vill använda ytterligare templates filer. Continue reading →