Creare_CreareSeoCore
There are cases when the configured title for your attribute or option page does not work. One reason might be because you have the module Creare_CreareSeoCore
installed.
This module will overwrite the <title>
tag for all pages. This will affect all the extensions you have installed that might want to change the <title>
tag for certain pages. To fix this, you'll need to patch the certain page that modifies the <title>
tag.
Here's a detailed instruction on how to patch this:
Open the file
app/code/community/Creare/CreareSeoCore/Model/Observer.php
Find the method
setTitle
.You'll find the following code:
public function setTitle($observer) { if (Mage::getStoreConfig('creareseocore/defaultseo/forcehptitle') && $observer->getEvent()->getAction()->getFullActionName() == "cms_index_index") return; if ($observer->getEvent()->getAction()->getFullActionName() == "awshopbybrand_index_brandPageView") return; if ($observer->getEvent()->getAction()->getFullActionName() === "contacts_index_index") return; $layout = $observer->getEvent()->getLayout(); $title = $this->getTitle(); if($title) { if ($head = $layout->getBlock('head')) { $head->setTitle($title); } } $layout->generateXml(); }
As you can see, there are already a few patches applied here. We'll have to add your controller action so that the
<title>
tag does not get replaced on that controller action.Create another
if
statement and add the controller action you wish to exclude. You may use the line below, just make sure to replaceYOUR_CONTROLLER_ACTION
with the controller action you wish to exclude.if($observer->getEvent()->getAction()->getFullActionName() === "YOUR_CONTROLLER_ACTION") return;
In this case, we will add the controller actions
mana_optionPage_view
andmana_attributePage_view
to the exceptions, since we will be using a custom title on these pages. The line of code will now look like this:if($observer->getEvent()->getAction()->getFullActionName() === "mana_optionPage_view") return; if($observer->getEvent()->getAction()->getFullActionName() === "mana_attributePage_view") return;
Add that line to the first line of this method (or before the
$layout
line) then save the file. The method should now look like this:public function setTitle($observer) { if (Mage::getStoreConfig('creareseocore/defaultseo/forcehptitle') && $observer->getEvent()->getAction()->getFullActionName() == "cms_index_index") return; if ($observer->getEvent()->getAction()->getFullActionName() == "awshopbybrand_index_brandPageView") return; if ($observer->getEvent()->getAction()->getFullActionName() === "contacts_index_index") return; if($observer->getEvent()->getAction()->getFullActionName() === "mana_optionPage_view") return; // We added this line if($observer->getEvent()->getAction()->getFullActionName() === "mana_attributePage_view") return; // We added this line $layout = $observer->getEvent()->getLayout(); $title = $this->getTitle(); if($title) { if ($head = $layout->getBlock('head')) { $head->setTitle($title); } } $layout->generateXml(); }