Siden er stadig under indvikling...

Tilføj tekst til Magentos kontaktside

Magentos kontaktside (contact us) er som udgangspunkt meget sparsommeligt udformet. Hvis man som kunde klikker på en kontaktside er det rart med mere information end blot en mailform uden yderligere beskrivelse. Men kan man ikke bare lave endnu en kontaktside med de andre information? Jo, men det er ikke ligefrem noget der gavner brugervenligheden. Derfor viser jeg her hvordan du kan tilføje yderligere indhold til din kontaktside i Magento.

Der er flere forskellige muligheder, men efter mening er de to smarteste:

  1. Du kan tilføje indholdet direkte i form.phtml
  2. Du kan tilføje en reference til en ny statisk blok i form.phtml.
  3. Du kan lave en ny kontaktside fra Magentos backend og inkludere form.phtml til denne side.

Andre tilføjer en reference til en statisk i contacts.xml, men efter min mening giver dette blot mere besvær da den statiske bloks indhold som udgangspunkt vil blive placeret over sidens titel.

Fordelen ved at arbejde med statiske blokke er at det tilføjede indhold vil kunne redigeres via administrationspanelet. Omvendt skal der kun holdes styr på én ændring ved at tilføje indholdet direkte til form.phtml. Ved at lave din egen kontaktside får du begge fordele, men det kræver at du redigerer i form.phtml og inkluderer den i din cms-side. Altså skal tungen holdes lige i munden.

Hvilken skal du så vælge? Det bestemmer du selv – jeg viser alle metoderne nedenfor.

Tilføj indholdet til form.phtml

Først skal du sikre dig at du har en filen form.phtml i dit tema. Stien skal være: “app\design\frontend\dit-tema\default-eller-anden-temamappe\template\contacts\form.phtml”. Hvis du har – eller påtænker at have – flere udgaver af samme tema skal du ikke benytte “dit-tema\default”, men dermed “dit-tema\temaudgave” for hver udgave af temaet.

Her er koden du skal indsætte dine tilføjelser efter:

<div>
<h1><?php echo Mage::helper('contacts')->__('Contact Us') ?></h1>
</div>

Og her er koden dine tilføjelser skal indsættes før:

</pre>
<form action="<?php echo $this->getFormAction(); ?>" id="contactForm" method="post">
<pre>

Altså skal dine tilføjelser indsættes før formen (hvis det altså er der du vil have dit indhold).

Tilføj en reference til en ny statisk blok i form.phtml

Igen: du skal sikre dig at du har en filen form.phtml i dit tema. Stien skal være: “app\design\frontend\dit-tema\default-eller-anden-temamappe\template\contacts\form.phtml”. Hvis du har – eller påtænker at have – flere udgaver af samme tema skal du ikkebenytte “dit-tema\default”, men dermed “dit-tema\temaudgave” for hver udgave af temaet. Her er mit bud på en stump kode der inkluderer en statisk blok:

<code><?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('kontakt_indhold_blok')->toHtml() ?> 

Herefter skal du blot lave en statisk blok med “kontakt_indhold_blok som identifikator – i denne kan du så tilføje indhold som det passet dig. Dette gøres under CMS -> Statiske blokke.

Lav en ny kontaktside og inkludér form.phtml

Det er som sagt også muligt at lave din egen CMS-kontaktside. Hermed kan du selv ændre titel og indhold på selve siden uden at skulle arbejde med statiske blokke.

Først skal du oprette en cms-side som du passende kan kalde kontaktside.html. I denne side skriver du dit indhold samt et tag der inkluderer form.phtml:

<div><code> <div class="page-head">
<h3>Kontakt os (eller anden overskrift</h3>
</div>

<p>Indhold, billeder, css-div's og andet CMS-indhold her.</p>

{{block type="core/template" template="contacts/form.phtml"}} </code></div>

Husk at rette diverse links til kontaktsiden så de peger på din nye kontakside-URL.

Eftersom du allerede har tilføjet en sideoverskrift med ovenstående kodestump giver det god mening at fjerne denne del fra form.phtml:

</pre>
</div>
<div><code> <div class="page-head">
<h3><?php echo Mage::helper('contacts')->__('Contact Us') ?></h3>
</div> </code></div>
<div>
<pre>

Igen, igen: Når du ændrer i phtml-filer er det bedst at gøre det på temaniveau. Stien til den fil du redigerer skal være: “app\design\frontend\dit-tema\default\template\contacts\form.phtml”.
Bemærk at du ved denne metode kan nøjes med at arbejde i default-mappen i dit tema da de indholdsmæssige afarter kan ændre på de forskellige CMS-sider.

Læg et svar.