Često poželite da prikažete iskustva kupaca na sajtu vaše online prodavnice. Magento vam omogućava da kreirate CMS blok, dodate tekst iskustva korisnika i izložite ga levo ili desno od slider-a. Ovo je veoma lako, ali istovremeno i dosadno za posetioce zato što će videti samo jedano iskustvo.
Naravno da možete da kreirate nekoliko CMS blokova i prikažete ih na različitim stranama, ali će oni ipak biti «zalepljeni» na stranici koju im vi dodelite.
Sledeća logična ideja jeste da pronđemo način kako da prikažemo različita iskustva korsnika na svakoj stranici kada se ona ponovo učita. U prvom delu ove lekcije, pokazaćemo vam brz način korišćenja.phtml fajla i layout-a. U drugom delu, pokazaćemo vam Magento dodatak i nekoliko vrlo korisnih poboljšanja.
BRZA VERZIJA
Kako biste ostvarili vašu nameru, potrebno je da učinite sledeće:
Kreirajte phtml fajl koji će prikazati sledeći CMS blok
- Kreiranje CMS bloka u kodu
- Kako određujemo koji CMS blok sadrži koja iskustva korisnika
- Zadajte gde će da se prikazuje blok
Prvi zadatak je lak, jednostavno kreirajte folder u vašem temple-u:
app/design/frontend/YOUR-PACKAGE/YOUR-THEME/template/myrandom/
Zatim kreirajte prazan phtml fajl, na primer random_testimonial.phtml.
Drugi zadatak je takođe jednostavan. Brza pretraga web-a će vam dati dovoljno saveta kako da kreirate Magento blokove u kodu (u okviru phtml fajla):
$this->getLayout()->createBlock(‘cms/block’)->setBlockId( [block_identifier] );
Treći zadatak zahteva imenovanje naših CMS blok indetifikatora. Na primer, možete da dodelite neki određeni prefiks vašem bloku, na primer “testimonial”.
Sada kreirajte nekoliko blokova i dodelite im ID:
- testimonial-1
- testimonial-2
- testimonial-3
- itd…
Pre nego što krenemo dalje na zadatak 4, potrebno je da kodom popunimo naš phtml templejt:
[php]
<?php
$_block = $this->getLayout()->createBlock(‘cms/block’)->setBlockId($this->getIdentifier().mt_rand(1, $this->getNumber()));
if ($_block) :
?>
<div class="block block-testimonial">
<div class="block-title">
<strong><?php echo $this->getTitle(); ?></strong>
</div>
<div class="block-content">
<?php echo $_block->toHtml(); ?>
</div>
</div>
<?php endif; ?>
[/php]
Primetićete da postoje neki dodatni elementi kao što su Title, Identifier i Number.
U našem sledećem koraku će postati jasno odakle dolaze vrednosti za ove elemente. Sada ćemo da odlučimo odakle ćemo da pozovemo phtml blok.
Imamo nekoliko opcija:
- Layout XML file
- Layout update
- Direktno u CMS strani
1. Layout XML
Editujte jedan od vaših layout XML fajlova, na primer catalog.xml, pronađite element: i u okviru bloka dodajte:
[xml]
<block type="core/template" name="random.testimonial" template="myrandom/random_testimonial.phtml">
<action method="setTitle"><title>What Customers Say…</title></action>
<action method="setIdentifier"><identifier>testimonial-</identifier></action>
<action method="setNumber"><number>3</number></action>
</block>
[/xml]
Hajde da vidimo šta se ovde dešava. Koristimo neke od magičnih Magento metoda da zadamo nove vrednosti kao što su ranije pomenuti Title, Identifier i Number, efikasno prenoseći vrednosti za te elemente na naš .phtml blok. Ovo znači da mi ne moramo da editujemo naš .phtml svaki put kada treba da promenimo ove vrednosti.
2. Layout Update
Možete da unesete isti XML kao gore u jedno od «layout update» polja u vašoj Magento CMS stranici, proizvodima ili kategorijama.
Ukoliko unesemo XML u jednu od naših «layout updates» kategorija:
rezultat u vašoj izabranoj kategoriji može da izgleda ovako:
3. CMS blok stranica
Za ovaj pristup ćemo koristiti Magento curly braces syntax kako bismo uneli blok na samu stranicu. Ovo je korisno ukoliko želite da prikažete nasumične teksotve korisnika na stranici na kojoj se nalazi vaša korisnička služba.
Jednostavno unesite:
[html]
{{block type="core/template" template="myrandom/random_testimonial.phtml" number="2" title="Others Say:" identifier="testimonial-"}}
[/html]
gde želite da se blok prikaže i sačuva.
Zapamtite, možete da kreirate različite .phtml template u zavisnosti od layout-a koji vam je potreban i da ih uključite u različite delove vašeg sajta.
Tekst je preuzet sa veb sajta magebase.com u okviru serijala tekstova za Implementek Magento Srbija i e-trgovina.