Czasem istnieje potrzeba zmiany niektórych tytułów podstron w Magento, np. w związku z wymaganiami klienta. Należy jednak pamiętać, iż część tytułów zawarta jest w kontrolerach. Co zatem zrobić w takim przypadku?

Niestety zwykłe ustawienie setTitle w layoucie nie wystarczy, ponieważ kontroler ustawi nam tytuł strony jeszcze przed wygenerowaniem widoku layoutu. Jest jednak proste rozwiązanie, które pomoże nam uporać się z tym problemem.

W pliku template/page/html/head.phtml możemy zamienić standardowy zapis

<title>< ?php echo $this->getTitle() ?></title>

 na następujący

<title>
<?php echo ($this->getForcedTitle()) ? Mage::getStoreConfig('design/head/title_prefix').' '.$this->getForcedTitle().' '.Mage::getStoreConfig('design/head/title_suffix') : $this->getTitle() ?>
</title>

 następnie w pliku xml np. utworzonym przez nas local.xml pozostaje nam już tylko wywołanie odpowiedniej zmiany tytułu:

<reference name="head">
<action method="setForcedTitle"><title>Account Dashboard</title></action>
</reference>

 Przykładowo zatem jeżeli chcemy zmienić tytuł pojawiający się na podstronie konta klienta możemy wywołaś w xml powyższy kod optrzony odpowiednimi znacznikami <customer_account>...</customer_account>

Analogicznie kod taki możemy wywołać również na dowolnej podstronie statycznej. Na karcie danej podstrony wybieramy zakładkę Wygląd, następnie w polu do aktualizacji XML wklejamy nasz kod dodając odpowiedni tytuł.