Dezvoltarea temelor Magento o introducere

În această serie, vom analiza elementele de bază ale dezvoltării temei Magento.

Magento și-a câștigat reputația de a fi una dintre cele mai flexibile și puternice platforme eCommerce aflate astăzi acolo. 

Documentația pentru aceasta este oarecum lăsând dezvoltatorilor un nălucire pentru a rezolva. Asta înseamnă că este relativ simplă odată ce te descurci cu elementele de bază mai ales dacă sunteți cineva care se simte confortabil cu dezvoltarea frontală.

Înainte de a merge mai departe, este important să înțelegeți scopul acestei serii și unde ne îndreptăm în următoarele săptămâni.

Această serie este destinată începătorului și va acoperi elementele de bază ale dezvoltării temelor. Dacă sunteți un dezvoltator avansat al Magento, aceasta poate să nu fie seria pentru dvs.. 

În această serie, vom aborda următoarele subiecte:

  • Ierarhia Magento
  • Pachete și teme
  • Ierarhia de cădere
  • Layout fișiere
  • Șabloane de șabloane

Până la sfârșitul seriei, veți fi bine echipați pentru a avea cel puțin o înțelegere solidă a principiilor tematice Magento și puteți crea și modifica teme proprii, cum ar fi un profesionist!

Cu asta am spus că suntem gata să începem.

Ierarhia Magento

În primul rând, trebuie să înțelegem ierarhia Magento și unde tema noastră intră în vigoare. Există sute de dosare și mii de fișiere, prea multe pentru a lista, voi fi concentrat doar pe cele cu care trebuie să lucrăm.

aplicație / proiectare / frontend / bază / implicit / app / design / frontend / implicit / implicit / app / design /// skin / frontend / bază / implicit / skin / frontend / implicit / implicit / skin / frontend ///

Magento, în centrul său, are două dosare aplicaţia și piele care corespund între ele. aplicaţia directorul conține fișiere care controlează modul în care sunt redate șabloanele de pagină, structura. piele directorul conține fișiere care controlează aspectul site-ului, cum ar fi CSS, JavaScript și imagini.

Într-un sub-dosar al aplicaţia și piele sunt în cazul în care pachetele și temele noastre pot fi găsite, o instalare tipică a Magento vine cu două pachete baza și Mod implicit.

Deci, înainte de a merge mai departe este important să înțelegem ce pachete și teme sunt. Dacă obținem acest lucru, orice altceva va intra în locfrumos.

Totul despre pachete și teme

A pachet este o colecție de teme conexe, nu există nicio limitare a numărului de pachete pe care le putem avea și trebuie să avem cel puțin un pachet prezent. Magento vine cu un special pachet, dacă doriți, numit baza. Este un depozit pentru a face fișiere de bază Magento disponibile la capătul din față. Trebuie nu editați baza pachete de fișiere, faceți acest lucru pe propriul dvs. risc - mai multe despre aceasta mai târziu!

A temă pe de altă parte este un sub-director direct al unui pachet care conține fișierele care alcătuiesc magazinul dvs. din nou, nu există nici o limitare a numărului de teme pe care le putem avea într-un pachet. O temă poate aparține numai unui singur pachet, iar convențional fiecare pachet trebuie să conțină o temă numită "implicită", care este tema principală pentru acel pachet.

Ce este Baza Totul despre?

baza pachetul conține doar o temă numită Mod implicit. Acesta este livrat împreună cu fiecare instalare Magento și conține fișierele frontale care fac ca magazinul nostru să fie rulat. Există câteva reguli pe care trebuie să le acceptăm cu pachetul de bază.

Prima regulă fiind așa cum am menționat mai devreme nu este de a edita aceste fișiere, acest lucru înseamnă atât în app / proiectare / Frontend a / bază / și piele / frontend / de bază /  acestea ar trebui folosite doar ca referință. Fișierele care trebuie editate trebuie să fie copiate baza pentru dumneavoastră pachet / temă. Există câteva motive pentru acest lucru pe care le voi explica.

Aceste fișiere sunt ceea ce fac fișierele de bază Magento în app / code / core / disponibil la capătul din față. Noi pur și simplu nu ar trebui să editați fișiere de bază, această teorie nu se aplică doar pe Magento, dar se aplică și pe alte platforme, inclusiv WordPress. 

Cel de-al doilea lucru este că atunci când actualizați Magento, probabil că veți suprascrie baza pachete de fișiere. Deci, toate munca ta și modificări pentru a obține site-ul dvs. caută vârful vârful vor fi toate plecat. Dacă nu ați făcut o copie de rezervă, ați avut destul de mult!

A doua regulă este fișierele din baza pachetul face parte din sistemul de cădere, pe care îl voi explica în continuare. Pe scurt, Magento va reveni asupra fișierelor de bază găsite în baza după ce vă folosește pachetul și tema. Când cade înapoi, ar trebui să fie la fișierul original intact nu o versiune editat.

A treia regulă este că nu creează teme în interiorul baza pachet.

În rezumat, utilizați numai baza pentru referință și dacă trebuie să editați un fișier copiați-l pe cont propriu pachet / temă. Dacă trebuie vreodată să editați baza faceți acest lucru pe propriul dvs. risc și urmăriți modificările dvs., deoarece este posibil să fie nevoie să le restaurați manual după upgrade-uri, altfel lăsați-o singură!

Ce este implicit Totul despre?

Mod implicit pachetul vine din nou împreună cu fiecare instalare Magento, dar de data aceasta îi sunt atribuite mai multe teme. Începând cu ediția comunitară 1.8.1.0, ea are patru teme diferite, dintre care:

  • Mod implicit
  • gol
  • iPhone
  • modern

La fel ca și baza pachet exact aceleași reguli se aplică aici. Temele din Mod implicit ambalajele sunt, în esență, numai în scop demonstrativ. Ideal pentru magazinele demo sau dacă doriți să afișați ceea ce este capabil Magento pentru clienții dvs., este o configurare rapidă.

Fallback Logic

Magento se bazează pe o logică de rezervă pentru a face temele mai ușor de întreținut și de a îmbunătăți prietenia. Ne permite să editați și să menținem doar fișierele de care avem nevoie în cadrul temei noastre. Dacă nu avem nevoie să editați fișierul, nu avem nevoie de el în tema noastră, fișierul va fi preluat din altă parte. Pentru a explica acest lucru în detaliu, avem nevoie de un exemplu real de viață.

Spuneți că avem propriul nostru site web, care este setat să folosească propriul nostru pachet și temă, cum ar fi:

app / design / frontend / our_package / our_theme / skin / frontend / our_package / our_theme /

Site-ul nostru solicită un fișier de șablon numit 1column.phtml și un fișier CSS numit styles.css dar Magento nu poate găsi aceste fișiere în tema noastră. Logica de rezervă Magento va căuta acum tema următoare din ierarhia fișierelor și va continua căutarea până când va localiza fișierele solicitate.

Următoarea comandă demonstrează logica de rezervă pe care o traversează Magento atunci când caută fișierele noastre:

app / design / frontend / our_package / our_theme / template / page / 1column.phtml app / design / frontend / our_package / default / template / page / 1column.phtml app / design / frontend / base / default / template / page / 1column. phtml skin / frontend / our_package / our_theme / css / styles.css skin / frontend / our_package / default / css / styles.css skin / frontend / base / default / css / styles.css

Cu această logică în schimb, aceasta înseamnă că putem avea o bază de cod curată, păstrând temele noastre la minim. Copiați numai fișierele din baza că trebuie să facem modificări pentru a părăsi altfel fișierele din tema noastră. Dacă site-ul nostru solicită fișierul și nu îl avem în tema noastră, acesta va fi localizat trecând prin logica de mai sus.

Notă:Dacă după ce Magento a trecut prin logica de rezervă și fișier încă nu se poate găsi că va arunca fie o eroare de redare dacă este în directorul app sau dacă în directorul skin-ul va arunca probabil un fișier 404 nu a fost găsit.

Creați și activați pachetul / tema

Hai să vorbim suficient, să mergem să o punem în scenă. 

În primul rând, vom crea propriul set de pachete / teme. Vom începe prin crearea următoarelor dosare:

app / design / frontend / jasonalvis / implicit / skin / frontend / jasonalvis / implicit /

Acum avem un pachet numit jasonalvis și o temă numită Mod implicit, nu ezitați să redenumiți pachetul pentru a vă satisface nevoile. Vom păstra numele temei ca Mod implicit deoarece fiecare pachet ar trebui să aibă întotdeauna un Mod implicit temă, amintindu-i de asemenea Mod implicit este automat o parte a logicii de rezervă.

Tot ce trebuie să faceți acum este să activați pachetul prin zona de administrare Magento. După ce v-ați conectat la cap sistem> configurație. De aici faceți clic pe proiecta din meniul din stânga și apoi introduceți numele pachetului în Numele curent al pachetului camp.

În timp ce suntem aici anunțul de mai jos există o tematică secțiune. Aici vom intra în numele temei noastre, ci pentru că noi pur și simplu le folosim Mod implicit nu trebuie să introduceți nimic aici, deoarece Magento caută automat acest nume. 

În scopuri demonstrative, spunem că am avut, de exemplu, o temă pe care am vrut să o folosim în timpul unei vânzări, am crea tema:

app / design / frontend / jasonalvis / vânzare / skin / frontend / jasonalvis / vânzare /

Apoi, tot ce trebuie să facem este să activați tema în zona de administrare, așa cum am făcut-o cu pachetul nostru:

Când să utilizați un pachet sau o temă?

Deci acum știți cum să configurați pachetul / tema, dar ceea ce este cel mai bun pentru care scenariu?

Ei bine, există nenumărate scenarii și sunt sigur că fiecare dintre voi are unul diferit. De asemenea, devine un pic mai complicat atunci când aveți o instalare Magento cu o configurație cu mai multe magazine. Ca regulă generală, temele pe care le conține pachetul ar trebui să fie similare, altfel ar trebui să fie împărțite în pachete.

Mod implicit tema ar trebui să fie centrul hub și temele suplimentare ar trebui să fie pur și simplu ajustări la hub. Dacă vă schimbați drastic fiecare aspect al site-ului într-o temă, probabil că acesta este într-un pachet separat în întregime.

Notă: Atunci când creați teme suplimentare în cadrul pachetului nostru, nu trebuie să îl creați atât în ​​directoarele de aplicații, cât și în cele de pe piele, creându-i tema doar acolo unde este relevant. Luați, de exemplu, tema noastră de vânzare, vor fi doar modificări ale stilului, schițe de culori diferite, etc. Fișierele templating actuale nu se schimbă. Prin urmare, creați numai tema din directorul skin și editați fișierele relevante după cum este necesar.

Cu asta a spus, să o numim o zi. Acum ar trebui să aveți o înțelegere solidă cu privire la ierarhia Magento pe care va trebui să o utilizați în restul seriei. Ca întotdeauna orice întrebări lasă un mesaj în comentariile de mai jos.

Ce urmeaza?

În următorul articol, vom examina elementele de bază ale layoutului XML. Între timp, nu ezitați să ne trageți orice întrebări, comentarii sau feedback de mai jos!


Cod