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.
Hur man går till väga
Börja med att skapa en modul genom att göra dess config -fil.
app/code/local/{namespace}/{modul namnet}/etc/config.xml
Inom måsvingarna fyller du i ett namn på en lämplig namnrymd/namespace, förslagsvis företagsnamnet, samt ett lämpligt namn på modulen. ”Templates” tycker jag känns som ett förklarande och bra namn i sammanhanget..
Innehållet i config.xml -filen ska se ut på följande vis:
<?xml version="1.0"?> <config> <modules> <{Namespace}_{Namnet på modulen}> <version>1.0.0</version> </{Namespace}_{Namnet på modulen}> </modules> <global> <page> <layouts> <{interna layoutnamnet} translate="label"> <label>{officiella layoutnamnet}</label> <template>page/{filnamnet}.phtml</template> </{interna layoutnamnet}> </layouts> </page> </global> </config>
Byt ut allt inom måsvingarna till lämpliga värden och skapa självklart specificerad phtml -fil i ditt tema.
Vi har nu sagt till Magento att det finns en template som kommer visas för administratören i admingränssnittet så han kan välja denna till önskvärd sidan.
Berätta för Magento om modulen
Vi behöver nu behöver berätta för Magento om vår modul. Navigera till mappen:
app/etc/modules/
..och skapa en xml -fil med följande namnbeteckning:
{Namespace}_{Namnet på modulen}.xml
Innehållet i denna fil ska se ut på följande vis:
<?xml version="1.0"?> <config> <modules> <{Namespace}_{Namnet på modulen}> <active>true</active> <codePool>local</codePool> <depends> <Mage_Page /> </depends> </{Namespace}_{Namnet på modulen}> </modules> </config>
Klart, nu borde allt funka.
Alternativ lösning
Aktivera och redigera din lokala config.xml fil
Anledningen till att jag inte gillar metoden beskriven i länken ovan är för att man då måste skriva över hela config.xml -filen. Samt att förändringar som kan komma att hända i framtiden i kärnans config -fil då inte kommer att gälla efter en uppdatering.
Fördelen som jag dock kan se med denna metod är att man enkelt kan ta bort templates för administratören som han ej ska kunna välja. Kanske ifs går att lösa på annat vis men det är inget som jag känner till i skrivande stund.