Magento - kako početi
Autor: Dušan Lukić |
Datum:
  • # Magento

Na račun [tooltip title="Struktura Magento aplikacije" gravity="e"] prethodnog članka[/tooltip] sam dobio razne, uglavnom pozitivne kritike. Nekoliko kolega me je zamolilo da napišem tutorial za one koji tek počinju sa Magentom kao i da objasnim osnovne funkcionalnosti kako sa gledišta programera tako i sa gledišta administratora sajta baziranog na Magento platformi.

U ovom članku ću ukratko objasniti instalaciju Magenta, osnovna podešavanja, proizvode i kategorije.

Instalacija

Instalacija Magenta je veoma jednostavna i podseća na instalaciju ostalih CMS platformi kao što je Wordpress. Ovde ćemo samo proći kroz korake instalacije.

Instalacija

 

Instalacija

 

Instalacija

 

  1. U ovom članku radimo sa community verzijom Magenta. Možete je preuzeti sa zvaničnog Magento sajta. Preporučujem poslednju stabilnu verziju.
  2. Nakon što raspakujemo arhivu u folder po našem izboru unutar foldera gde će se nalaziti izvorni kod, otvaramo u browseru stranicu koja odgovara putanji naše aplikacije. U ovom slučaju to je http://localhost/magento.
  3. Otvara se početna stranica instalacije gde je potrebno potvrditi da se slažemo sa uslovima korišćenja (Magento je zaštićen licencom Open Source License 3.0).
  4. Na sledećem koraku je potrebno podesiti određene podatke vezane za lokalizaciju.
  5. Ukoliko koristite Linux ili MacOS operativni sistem, a niste menjali nivo prava pristupa nad folderom ovde se može pojaviti upozorenje koje nam govori da folderi app/etc, var i media moraju imati permisije za operaciju write. Nakon što to obavimo dolazimo do dela u kojem se podešavaju podaci vezani za bazu podataka. Ukoliko niste do sad kreirali bazu za Magento projekat, sad je pravo vreme da to učinite. Potrebno je uneti kredencijale za pristup, osnovne putanje, kao i neke dodatne opcije:
    • Enable Charts - Admin deo može prikazati određene informacije u obliku grafikona, možemo izabrati da li želimo tu opciju.
    • Skip Base Url Validation Before the Next Step - ukoliko odaberemo ovu opciju, adresa koju smo izabrali neće biti validirana (ako, na primer,  imamo neko posebno serversko podešavanje i potrebno nam je da izbegnemo ovu proveru).
    • Use Web Server (Apache) Rewrites - Ukoliko želimo možemo koristiti url rewrite bazirane na Apache konfiguraciji (u većini slučajeva putem .htaccess fajla). Ova se opcija kasnije može promeniti iz admin panela.
    • Use Secure URLs (SSL) - Potrebno je da odlučimo da li želimo da koristimo SSL na našem projektu. U tom slučaju će se koristiti https protokol.
    • Save Session Data In - Može se odabrati jedna od dve opcije za čuvanje sesija: baza podataka ili file system. Najčešće se koristi file system.
  6. Naredni korak je pokretanje sql install skripte. Imajte na umu da ova operacija može potrajati. Kada se završi bićete prebačeni na stranu u kojoj je potrebno da podesite login kredencijale za admin korisnika. Potrebno je uneti ime, prezime, email, username, password i ključ za enkripciju, koji se koristi za dodatnu zaštitu pojedinih podataka i opcioni je parametar.
  7. Instalacija je završena. Magento nudi opcije navigacije na frontend i backend stranu.

Hajde da se ulogujemo u admin deo aplikacije i pogledamo neka od podešavanja koja se najviše koriste:

Osnovna podešavanja

Podešavanja u Magentu u najvećem broju slučajeva funkcionišu tako što podesimo sve željene opcije, nakon čega je potrebno kliknuti na dugme “Save” u gornjem desnom uglu prozora.

U razvoju Magento aplikacije, takozvani Magento cache može dovesti do efekata koji čine da se pojedine promene ne frontend delu ne prikažu adekvatno (tj. da se neke naše izmene ne vide zato što je stranica keširana). Odlaskom na “System” - “Cache management” možemo isključiti keširanje za pojedine delove aplikacije (najbolje za sve, ukoliko ne testiramo nešto što je vezano za sam keš). U gornjem desnom uglu su opcije “Flush Magento Cache” i “Flush Cache Storage”, koje brišu Magento keš, odnosno čitav keš. Više o tome pročitajte ovde.

 

Upravljanje Magento kešom.

Još jedna korisna stvar u Magentu koju developeri koriste je logovanje. Na svakom mestu u aplikaciji je moguće pozvati statičku metodu koji upisuje sadržaj u log fajl. Ovako izgleda taj poziv:

Mage::log($var, null, ‘var.log’);

 U ovom slučaju će vrednost $var promenljive biti upisana u fajl var.log. Ova praksa se pokazala korisnom u debagovanju. Da bi omogućili ovim pozivima da upisuju u fajlove, potrebno je da u “System” - “Configuration” - “Developer” - “Log Settings” podesimo polje “Enabled” na vrednost “Yes”.

Sledeća bitna stavka su tzv. template path hints koji nam omogućavaju da na frontend delu lako uočimo koji deo pripada kom template-u i bloku, što je naročito korisno u razvoju tema. Da bi uključili ovu funkcionalnost potrebno je prvo da promenimo “Store View” na opciju “website” (pošto ova opcija ne može da se uključi globalno), to jest na “Default Store View”. U gornjem levom uglu postoji polje “Current Configuration Scope”, u kojem je potrebno izabrati “Default Store View”. Nakon toga, kada odemo na “System” - “Configuration” - “Developer” - “Debug” i odčekiramo opciju “Use Website” na “Template Path Hints”, možemo podesiti tu vrednost na “Yes” pa sačuvati podešavanja. Sada će nam se na frontend delu ispisati imena svih template-a. Nakon ovoga možemo da vratimo scope na “Default Config”. Korisnost ove opcije se ogleda u tome što omogućava frontend developerima da lakše pronađu template koji se koristi.

Da bi se unapredile performanse na frontend delu aplikacije, uveden je sistem indeksiranja. Podaci iz EAV tabela se agregiraju u index tabele kako bi se ti podaci lakše i brže izvukli kada je potrebno. Za regulisanje indeksiranja potrebno je otići na “System” - “Index Management”. Ovde možemo da definišemo da li želimo da se reindeksiranje pokreće prilikom svakog čuvanja nekog od entiteta ili ćemo to raditi manualno. Čekiranjem entiteta i klikom na dugme “Reindex” možemo pokrenuti proces reindeksiranja.

Broj opcija u Magento admin panelu je veliki, a ovde smo opisali samo neke koje se najčešće koriste.

Ukoliko ste spremni, možemo da nastavimo dalje sa istraživanjem Magenta. Predlažem da pokušamo da dodamo proizvod i prikažemo ga na frontend delu.

Proizvodi

Postoje četiri vrste proizvoda:

 

  • Simple: Osnovni tip proizvoda.
  • Configurable: Proizvodi koji se sastoje od više osnovnih proizvoda koji čine konfiguraciju. Na primer, možemo imati dva osnovna proizvoda: crvena košulja i plava košulja i konfigurabilni proizvod košulja za koji su vezana ta dva osnovna proizvoda. Na frontend delu će kupcu biti omogućeno da odabere boju košulje i Magento će to uračunati kao jedan osnovni proizvod.
  • Grouped: Više proizvoda se može grupisati u jedan uz pomoć ovog tipa. Na ovaj način kupac može dodati u korpu jedan ili više osnovnih proizvoda. Razlika u odnosu na configurable je što u slučaju grouped proizvoda korisnik može dodati više osnovnih a u slučaju configurable proizvoda on bira jednu od opcija (jedan osnovni proizvod).
  • Bundle: Koristi se u slučaju potrebe za postojanjem proizvoda sa više konfiguracijskih opcija od kojih za svaku opciju mora biti izabran jedan osnovni proizvod.
  • Virtual: Koristi se za proizvode koji ne postoje fizički kao što su na primer neke usluge. Ovi proizvodi se ne mogu isporučivati (shipping).
  • Downloadable: Proizvodi za koji se može dodati sadržaj koji se može preuzeti online nakon kupovine.

 

 

Prikaz proizvoda na frontend delu

 

Prikaz proizvoda na frontend delu

Hajde da dodamo jedan proizvod.

Potrebno je da odaberemo “Catalog” - “Manage Products”. Prikazaće nam se lista proizvoda, koja je trenutno prazna (zato što još uvek nismo dodali nijedan proizvod). U gornjem desnom uglu se nalazi opcija za dodavanje proizvoda “Add Product”.

Na sledećem koraku možemo odabrati attribute set (o čemu će biti reč u nekom od narednih članaka) i tip proizvoda. U ovom primeru ćemo napraviti jedan osnovni proizvod, tako da biramo opciju “Simple Product”.

Dolazimo do unosa informacija koje opisuju sam proizvod. Potrebno je uneti:

  • Naziv,
  • Opis,
  • Kratak opis,
  • SKU (Stock Keeping Unit je jedinstveni identifikator proizvoda, a obično se koristi proizvoljna alfanumerička vrednost),
  • Weight
  • Status (enabled/disabled)
  • Visibility

Nakon toga potrebno je da popunimo još nekoliko informacija iz ostalih tabova:

 

  • Prices - Potrebno je uneti cenu kao i tax grupu kojoj proizvod pripada.
  • Inventory - Potrebno je da odlučimo da li ćemo upravljati količinom (“stock”) proizvoda. Pošto je podrazumevana vrednost podešena na “yes”, možemo da ostavimo tako i da promenimo stock na npr. 100 i da u poslednjem polju “Stock Availability” izaberemo opciju “In Stock”.

Na kraju je potrebno sačuvati podešavanja.

Postoji još mnogo opcija vezanih za proizvode, a ovde smo pomenuli samo one koje su obavezne.

Hajde da kreiramo jednu kategoriju i da dodamo proizvod u nju.

Kategorije

Kategorija je dobar način za grupisanje proizvoda. Među kategorijama može postojati određena hijerarhija (mogu biti u parent-child odnosu), koja može biti preslikana i na frontend prikaz.

 

Dodavanje kategorije

U praksi, kategorija ne mora biti vezana za proizvode.

Ona može biti u jednom od tri display mode-a koji možemo odabrati na tabu “Display Settings”:

 

  • Products only - sa ovim podešavanjem biće prikazani samo proizvodi koji pripadaju kategoriji
  • Static block only - statički blok je HTML kod koji se može uređivati u admin panelu. Između ostalog može služiti i kao sadržaj kategorije.
  • Static block and products - opcija koja omogućava da budu prikazani i statički blok dodeljen kategoriji i njeni proizvodi.

 

Kategorija može imati i sopstveni dizajn koji se podešava u “Custom Design” tabu.

Da bi dodali novu kategorijut potrebno je da u glavnom meniju izaberemo “Catalog” - “Manage Categories”.

Sa leve strane vidimo tree prikaz kategorija (koji trenutno ima samo podrazumevanu - default kategoriju pošto nismo dodavali kategorije). Da bismo napravili kategoriju koja će se automatski prikazati na frontend delu, potrebno je odabrati “Default Category” pa dugme “Add Subcategory”. Od opcija koje moramo da unesemo tu su:

  • Naziv,
  • Opcija “Is active”,
  • Uključiti u navigacioni meni (možemo odabrati da li želimo da se ova kategorija prikaže u navigaciji na vrhu strane)

Ostale vrednosti su nam unapred odabrane i nećemo se zadržavati na njima. Možemo dodati naš proizvod koji smo malopre kreirali otvaranjem taba “Category Products”, podešavanjem filtera za proizvode (u levom delu strane) na “Any” i odabiranjem našeg proizvoda. Nakon svega ovoga potrebno je da sačuvamo kategoriju klikom na “Save Category”.

Ovim člankom smo prošli kroz instalaciju Magenta, osnovna podešavanja i rad sa proizvodima i kategorijama. Nadam se da smo vas dovoljno zainteresovali za rad sa ovom moćnom eCommerce platformom, kojom ćemo nastaviti da se bavimo i u narednim nedeljama.