Prikazali vam bomo kako spremeniti izvorni Magento kontaktni obrazec ter e-mail, ki ga prejmemo ob izpolnitvi obrazca. Prikazali vam bomo tudi kako priklicati kontaktni obrazec na kateri koli statični strani ("CMS page") ali v statičnem bloku ("Static block"). Statični blok, v katerega smo dodali kontaktni obrazec, lahko po želji dodajamo v layout strani (2columns-left.phtml,...).

Če želimo dodati v kontaktni obrazec novo polje, na primer naslov ("Address"), moramo spremeniti sledečo [default]/[default]/template/contacts/form.phtml datoteko. Novo vnosno polje bomo dodali kot predzadnje polje. Spodaj si lahko ogledate kodo vnosnega polja za telefon:
<li> <label for="telephone"><?php echo Mage::helper('contacts')->__('Telephone') ?></label> <div class="input-box"> <input name="telephone" id="telephone" title="<?php echo Mage::helper('contacts')->__('Telephone') ?>" value="" class="input-text" type="text" /> </div> </li>
Kodo preuredimo in dodamo še eno polje:

<li> <div class="field"> <label for="telephone"><?php echo Mage::helper('contacts')->__('Telephone') ?></label> <div class="input-box"> <input name="telephone" id="telephone" title="<?php echo Mage::helper('contacts')->__('Telephone') ?>" value="" class="input-text" type="text" /> </div> </div> <!-- to je novo polje --> <div class="field"> <label for="address"><?php echo Mage::helper('contacts')->__('Address') ?></label> <div class="input-box"> <input name="address" id="address" title="<?php echo Mage::helper('contacts')->__('Address') ?>" value="" class="input-text" type="text" /> </div> </div> <!-- konec novega polja --> </li>
Če želimo, da je naše novo polje obvezno za izpolniti, ga moramo še dodatno spremenit:

<div class="field"> <label for="address" class="required"><em>*</em><?php echo Mage::helper('contacts')->__('Address') ?></label> <div class="input-box"> <input name="address" id="address" title="<?php echo Mage::helper('contacts')->__('Address') ?>" value="" class="input-text required-entry" type="text" /> </div> </div>
Za naslednji korak odpremo Magento Admin vmesnik in odklikamo na "System->Transactional Emails" in stisnemo na gumb "Add new template".

Za template si izberemo "Contact Form" in nato kliknemo na "Load template". Prikaže se nam že izdelani template in sicer:

Name: {{var data.name}} E-mail: {{var data.email}} Telephone: {{var data.telephone}} Comment: {{var data.comment}}
Dodamo naše dodatno polje:

Name: {{var data.name}} E-mail: {{var data.email}} Telephone: {{var data.telephone}} Address: {{var data.address}} Comment: {{var data.comment}}
Koda {{var data.address}} vzame vse elemente, ki imajo id »address« v našem obrazcu in jih izpiše v e-mail katerega vam pošlje ob izpolnjenem obrazcu.

Sedaj le še določimo ime na novo izdelanemu template-u in ga shranimo. V Magento Admin-u odklikamo v "System->Configuration->General->Contacts" in v polju "Email Options->Email Template" izberemo naš pravkar izdelan template.

Vstavljanje kontaktnega obrazca v statično stran ("CMS page")

Za vstavljanje kontaktnega obrazca v statično stran "CMS page", moramo novo statično stran izdelati ter nato v njo vstaviti sledečo kodo:

{ { block type="core/template" name="contactForm" form_action="/contacts/index/post" template="contacts/form.phtml" } }
Na primer lahko statično stran izdelamo s sledečo vsebino vsebino:

Kontaktna stran - CMS page<br /> Kontaktni obrazec: <br /> { { block type="core/template" name="contactForm" form_action="/contacts/index/post" template="contacts/form.phtml" } }
Izgled naše statične strani bo sledeč:



Vstavljanje konktatnega obrazca v statični blok ("Static Block")

Obrazec lahko vključimo tudi v Magento statični blok ("Static Block"). V Admin-u odpremo "CMS->Static Block" in ustvarimo novega. Vsebina je lahko enaka kot pri zgoraj navedeni CMS statični strani:

Kontaktni blok:<br /> { { block type="core/template" name="contactForm" form_action="/contacts/index/post" template="contacts/form.phtml" } }

Dodajanje statičnega bloka v layout vaše spletne trgovine oziroma strani

Naprimer odpremo [default]/[default]/template/page/2columns-right.phtml in v DIV-u za desni menu (<div class="col-right sidebar">) vstavimo naš statični blok:

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('kontakt-block')->toHtml(); ?>
»kontakt-block« je identifikator ("Identifier") našega bloka, ki smo ga vpisali pri izdelavi. Ime je poljubno.

Katera koli stran, ki uporablja "2 Columns with right bar" layout bo imela v desnem stolpcu tudi naš obrazec.

Rezultat je sledeč: