Outstanding and responsive customer support manaDEV has. Their support led me through the process of installing and configuring it, when problems show ... Read more

Jul 2, 2014 Professor62

Certified Magento Enterprise developer Certified Magento developer Certified Magento theme developer Certified Magento specialist

Manadev is certified extension and theme
developer for Magento

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:

  1. Open the file app/code/community/Creare/CreareSeoCore/Model/Observer.php

  2. Find the method setTitle.

  3. 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.

  4. Create another if statement and add the controller action you wish to exclude. You may use the line below, just make sure to replace YOUR_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 and mana_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;
    
  5. 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();
     }
    

We Accept: PayPal Visa MasterCard American Express Discover