Uneori tipurile de produse disponibile nu sunt suficiente. Magento are diferite tipuri destul de bine acoperite, dar există doar situații în care pur și simplu este mai logic să aveți un tip de produs separat.
Pentru mine, una dintre acele situații a fost atunci când am avut nevoie pentru a crea un modul personalizat de produs care să se ocupe de generarea unui PDF personalizat pe baza opțiunilor produsului achiziționat.
În plus, aceasta nu este o soluție dacă trebuie să creați un produs cu un anumit atribut, deoarece Magento oferă deja aceste caracteristici. În schimb, ar trebui să găsiți acest ghid la îndemână pentru când (sau dacă) trebuie să puteți identifica un anumit tip de produs oriunde în sistem.
De exemplu, ca și când l-am adunat pe observatori.
Acest ghid vă va presupune că aveți cunoștințe de bază despre funcționarea interioară a unui modul Magento. Construirea unui modul bun este un pic de artă pe cont propriu și este subiectul unei posturi proprii. Cu asta am spus că vom examina modul de instalare a modulului.
Acum, la punctul principal de discuție.
Ca și în Magento, lucrarea noastră începe de asemenea în fișierele de configurare. Vrem să creăm un modul separat pentru acest lucru, deoarece în Magento vrem module separate pentru tot. Păstrarea lucrurilor separate și modulare în Magento ne face fericiți. Am ajuns cu Robogento Printable, Robogento fiind compania mea și Printable the name module.
Pentru a adăuga un tip de produs, trebuie să îl spunem Magento și să îl definim. Acestea sunt părțile aplicabile ale directivei config.xml
fișierul pe care îl vom avea nevoie, va trebui să completați singur dosarele, desigur:
... ... ... imprimabile / product_type imprimabile / product_price 1
Vom merge acolo.
După cum puteți vedea, modulul meu este definit ca "printabil", eticheta este în folosul filtrării în grilele care afișează produsul în backend și când se creează un produs nou. Modelul și modelul de preț sunt locul în care începe distracția. Fiecare produs are nevoie de un tip, acesta poate fi destul de drept.
Extindeți sistemul de bază creând modelul Tip. Urmăriți calea fișierului în funcție de definiția clasei:
clasa Robogento_Printable_Model_Product_Type extinde Mage_Catalog_Model_Product_Type_Simple
Și acolo mergem.
Deodată, produsul nostru printabil este acum o clonă a Produsului Simplu pe care Magento îl cunoaște deja. Ceea ce se întâmplă aici este faptul că prin extinderea de la tipul simplu, reutilizăm toate caracteristicile pe care le are tipul de produs. Avantajul suplimentar este că putem foarte ușor să ignorăm caracteristicile existente cu propria noastră dacă suntem atât de înclinați.
A fost un alt lucru pe care ți l-am arătat pentru noi config.xml
fişier. Modelul prețului tipului de produs. Foarte același lucru se aplică aici:
clasa Robogento_Printable_Model_Product_Price extinde Mage_Catalog_Model_Product_Type_Price
După cum puteți vedea, pur și simplu ne extindem din sistemul existent al Magento. Magento are destule defecte, însă tipurile de produse simple și virtuale se numără printre cele mai bine gândite părți ale acestuia și este întotdeauna o idee bună să reutilizați codul existent când puteți.
În mod normal, aș spune că există mai mult, dar în cazul lui Magento, acesta este cu adevărat tot ce există. Am creat în prezent un alias al sistemului Simple Product și l-am numit Printable.
Produsul imprimabil va folosi toate caracteristicile și definițiile, deoarece sunt configurate pentru produsele simple. Deci, două adrese, setări de inventar, pe care le numiți Dacă aveți nevoie doar de o adresă de factură, extindeți-vă de la produsul Virtual. Dacă doriți să furnizați produse descărcabile, dar cu un set ușor diferit de caracteristici, extindeți-vă din sistemul Descărcabil.
Asa cum am spus la inceput, acest lucru nu este de a crea un tip de tricou in noul magazin Magento. În acest caz, probabil căutați seturile de atribute din backend.
Folosind acest lucru, veți putea să filtrați rapid anumite produse, fie în backend, fie când utilizați alte funcții Magento precum observatori sau colecții.