Default meta titles for category pages Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Adding variable in Magento Category Page Header Title (product count)Custom URL Per CategoryWhere are the meta-titles for categories set/created by default?Putting default for category and main website?Magento: Category Name vs Page Title NameHow to change page title of a category programmatically?Edit default page title for category programaticallyHow can i Bulk Change Category Page Title, Meta Description/KeywordsHow Can I Import Category META Tags(Titles, Descriptions, Keywords) into DB Using MySQL Query?Default Category deleted by MistakeHow to skip any category in seo meta title template?

What do you call the main part of a joke?

How to compare two different files line by line in unix?

Is it a good idea to use CNN to classify 1D signal?

How to react to hostile behavior from a senior developer?

Significance of Cersei's obsession with elephants?

2001: A Space Odyssey's use of the song "Daisy Bell" (Bicycle Built for Two); life imitates art or vice-versa?

How to convince students of the implication truth values?

Extracting terms with certain heads in a function

Is there a kind of relay only consumes power when switching?

Crossing US/Canada Border for less than 24 hours

When was Kai Tak permanently closed to cargo service?

Would "destroying" Wurmcoil Engine prevent its tokens from being created?

Fundamental Solution of the Pell Equation

Why do we bend a book to keep it straight?

Closed form of recurrent arithmetic series summation

If my PI received research grants from a company to be able to pay my postdoc salary, did I have a potential conflict interest too?

What are the out-of-universe reasons for the references to Toby Maguire-era Spider-Man in ITSV

Is it fair for a professor to grade us on the possession of past papers?

How would a mousetrap for use in space work?

What do you call a floor made of glass so you can see through the floor?

Dating a Former Employee

What would be the ideal power source for a cybernetic eye?

Does classifying an integer as a discrete log require it be part of a multiplicative group?

Why are the trig functions versine, haversine, exsecant, etc, rarely used in modern mathematics?



Default meta titles for category pages



Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?Adding variable in Magento Category Page Header Title (product count)Custom URL Per CategoryWhere are the meta-titles for categories set/created by default?Putting default for category and main website?Magento: Category Name vs Page Title NameHow to change page title of a category programmatically?Edit default page title for category programaticallyHow can i Bulk Change Category Page Title, Meta Description/KeywordsHow Can I Import Category META Tags(Titles, Descriptions, Keywords) into DB Using MySQL Query?Default Category deleted by MistakeHow to skip any category in seo meta title template?



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3















How do i create a default category meta title for all category pages?



i would like it to be something like this:



<title>category name - blah blah blah blah</title>


i want it to be the default only for category pages.



is this possible?










share|improve this question




























    3















    How do i create a default category meta title for all category pages?



    i would like it to be something like this:



    <title>category name - blah blah blah blah</title>


    i want it to be the default only for category pages.



    is this possible?










    share|improve this question
























      3












      3








      3








      How do i create a default category meta title for all category pages?



      i would like it to be something like this:



      <title>category name - blah blah blah blah</title>


      i want it to be the default only for category pages.



      is this possible?










      share|improve this question














      How do i create a default category meta title for all category pages?



      i would like it to be something like this:



      <title>category name - blah blah blah blah</title>


      i want it to be the default only for category pages.



      is this possible?







      category






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jul 6 '15 at 4:59









      Aryeh ArmonAryeh Armon

      12014




      12014




















          3 Answers
          3






          active

          oldest

          votes


















          2














          Add the following code in your head.phtml



          if (Mage::registry(current_category)) 
          echo '<title> Categoryname- keyword1 keyword2 keyword3"';



          EDIT



          As far as I know Mage::registry('current_category') can be used to check whether we are in a category. See Alanstorm's Answer. The important parts of that answer is adding below for reference



          Current versions of Magento register certain global variables (not PHP globals, but things global to the Magento system) on certain pages.



          Calling the following



           $category = Mage::registry('current_category'); 
          $product = Mage::registry('current_product');
          $product = Mage::registry('product');


          will either return null if the objects haven't been set (i.e. you're on a page without a category or a product), or return category and product objects.



          If a product object is returned you're on a product page.



          If no product object is returned but a category object is, you're on a category page.



          then you can print what you want.






          share|improve this answer

























          • seems to be true also on product pages.

            – Aryeh Armon
            Jul 6 '15 at 5:53











          • Let me check and get back

            – Sundar
            Jul 6 '15 at 5:58











          • nope current_category register only works in category page.

            – Rajeev K Tomy
            Jul 6 '15 at 6:04











          • weird it does not for me. however i found a way to get over it ( Mage::registry('current_product') )

            – Aryeh Armon
            Jul 6 '15 at 6:06







          • 1





            Sorry. Yar. I am not aware that.. Let me edit ma answer. :)

            – Sundar
            Jul 6 '15 at 6:38


















          2














          The most cleaner way to perform this is by observing to the event controller_action_layout_generate_blocks_after. So the important parts of your module (Namespace_Module) would be



          File : appcodelocalNamespaceModuleetcconfig.xml



          <config>
          <frontend>
          <events>
          <controller_action_layout_generate_blocks_after>
          <observers>
          <change_category_page_title>
          <class>namespace_module/observer</class>
          <method>setCategoryPageTitle</method>
          </change_category_page_title>
          </observers>
          </controller_action_layout_generate_blocks_after>
          </events>
          </frontend>
          </config>


          Here we are registering an observer to the event controller_action_layout_generate_blocks_after. This particular event will get triggered, after every blocks is generated from the layout. So at this particular time, we can access every blocks in the Layout. The block that we are interested here is head block (ie Mage_Page_Block_Html_Head). This block is holds the title element.



          File : appcodelocalNamespaceModuleModelObserver.php



          <?php
          class Namespace_Module_Model_Observer


          const CATEGORY_TITLE_CONSTANT = 'blah blah blah blah';

          public function setCategoryPageTitle(Varien_Event_Observer $observer)

          //ensure modification applies only for category page.
          if (Mage::registry('current_category'))
          //get head block
          $head = $observer->getLayout()->getBlock('head');
          $title = $this->_prepareCategoryTitle();
          //set new title
          $head->setTitle($title);



          protected function _prepareCategoryTitle()

          return Mage::registry('current_category')->getName()
          . '-'
          . self::CATEGORY_TITLE_CONSTANT;




          This is our observer class. The method that will alter category title is setCategoryPageTitle(). What this function does is simple. It ensures we are in a category page. Then it will grab the head block and set a new title. To set a new title, we are using a protected function _prepareCategoryTitle(). I defined this function according to this question's need. Currently it will return category name + blah blah blah. So you can alter this method and change the title according to your needs.




          Note: Here NO CORE EDITS, NO ALTERNATION IN DEFAULT TEMPLATES. That is
          why this is the cleaner method.







          share|improve this answer
































            0














            Basically, title of pages from meta title field of category.



            For your requirment,you need to rewrite class Mage_Catalog_Block_Category_View on there you need check current title using check Head block getTitle() value and reset it value to default when it does have any value.



            Rewrite class:



            <?php
            class Dev_AmitCatalog_Block_Catalog_Category_View extends Mage_Catalog_Block_Category_View
            {
            protected function _prepareLayout()

            parent::_prepareLayout();

            $this->getLayout()->createBlock('catalog/breadcrumbs');

            if ($headBlock = $this->getLayout()->getBlock('head'))
            $category = $this->getCurrentCategory();
            if (!$headBlock->getTitle())
            $headBlock->setTitle($category->getName().' - blah blah blah blah');





            config.xml:



             <global>
            ....
            <blocks>
            <amitcatalog>
            <class>Dev_AmitCatalog_Block</class>
            </amitcatalog>
            <catalog>
            <rewrite>
            <category_view>Dev_AmitCatalog_Block_Catalog_Category_View</category_view>
            </rewrite>
            </catalog>
            </blocks>
            .....
            </global>





            share|improve this answer























            • Where should the rewrite class be located? as I have put it in /Block/Catalog/Category/View.php in my extension folder but no joy

              – Goose84
              Feb 11 '16 at 16:54











            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "479"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f73212%2fdefault-meta-titles-for-category-pages%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            3 Answers
            3






            active

            oldest

            votes








            3 Answers
            3






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            Add the following code in your head.phtml



            if (Mage::registry(current_category)) 
            echo '<title> Categoryname- keyword1 keyword2 keyword3"';



            EDIT



            As far as I know Mage::registry('current_category') can be used to check whether we are in a category. See Alanstorm's Answer. The important parts of that answer is adding below for reference



            Current versions of Magento register certain global variables (not PHP globals, but things global to the Magento system) on certain pages.



            Calling the following



             $category = Mage::registry('current_category'); 
            $product = Mage::registry('current_product');
            $product = Mage::registry('product');


            will either return null if the objects haven't been set (i.e. you're on a page without a category or a product), or return category and product objects.



            If a product object is returned you're on a product page.



            If no product object is returned but a category object is, you're on a category page.



            then you can print what you want.






            share|improve this answer

























            • seems to be true also on product pages.

              – Aryeh Armon
              Jul 6 '15 at 5:53











            • Let me check and get back

              – Sundar
              Jul 6 '15 at 5:58











            • nope current_category register only works in category page.

              – Rajeev K Tomy
              Jul 6 '15 at 6:04











            • weird it does not for me. however i found a way to get over it ( Mage::registry('current_product') )

              – Aryeh Armon
              Jul 6 '15 at 6:06







            • 1





              Sorry. Yar. I am not aware that.. Let me edit ma answer. :)

              – Sundar
              Jul 6 '15 at 6:38















            2














            Add the following code in your head.phtml



            if (Mage::registry(current_category)) 
            echo '<title> Categoryname- keyword1 keyword2 keyword3"';



            EDIT



            As far as I know Mage::registry('current_category') can be used to check whether we are in a category. See Alanstorm's Answer. The important parts of that answer is adding below for reference



            Current versions of Magento register certain global variables (not PHP globals, but things global to the Magento system) on certain pages.



            Calling the following



             $category = Mage::registry('current_category'); 
            $product = Mage::registry('current_product');
            $product = Mage::registry('product');


            will either return null if the objects haven't been set (i.e. you're on a page without a category or a product), or return category and product objects.



            If a product object is returned you're on a product page.



            If no product object is returned but a category object is, you're on a category page.



            then you can print what you want.






            share|improve this answer

























            • seems to be true also on product pages.

              – Aryeh Armon
              Jul 6 '15 at 5:53











            • Let me check and get back

              – Sundar
              Jul 6 '15 at 5:58











            • nope current_category register only works in category page.

              – Rajeev K Tomy
              Jul 6 '15 at 6:04











            • weird it does not for me. however i found a way to get over it ( Mage::registry('current_product') )

              – Aryeh Armon
              Jul 6 '15 at 6:06







            • 1





              Sorry. Yar. I am not aware that.. Let me edit ma answer. :)

              – Sundar
              Jul 6 '15 at 6:38













            2












            2








            2







            Add the following code in your head.phtml



            if (Mage::registry(current_category)) 
            echo '<title> Categoryname- keyword1 keyword2 keyword3"';



            EDIT



            As far as I know Mage::registry('current_category') can be used to check whether we are in a category. See Alanstorm's Answer. The important parts of that answer is adding below for reference



            Current versions of Magento register certain global variables (not PHP globals, but things global to the Magento system) on certain pages.



            Calling the following



             $category = Mage::registry('current_category'); 
            $product = Mage::registry('current_product');
            $product = Mage::registry('product');


            will either return null if the objects haven't been set (i.e. you're on a page without a category or a product), or return category and product objects.



            If a product object is returned you're on a product page.



            If no product object is returned but a category object is, you're on a category page.



            then you can print what you want.






            share|improve this answer















            Add the following code in your head.phtml



            if (Mage::registry(current_category)) 
            echo '<title> Categoryname- keyword1 keyword2 keyword3"';



            EDIT



            As far as I know Mage::registry('current_category') can be used to check whether we are in a category. See Alanstorm's Answer. The important parts of that answer is adding below for reference



            Current versions of Magento register certain global variables (not PHP globals, but things global to the Magento system) on certain pages.



            Calling the following



             $category = Mage::registry('current_category'); 
            $product = Mage::registry('current_product');
            $product = Mage::registry('product');


            will either return null if the objects haven't been set (i.e. you're on a page without a category or a product), or return category and product objects.



            If a product object is returned you're on a product page.



            If no product object is returned but a category object is, you're on a category page.



            then you can print what you want.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited 22 mins ago









            Glorfindel

            2471412




            2471412










            answered Jul 6 '15 at 5:43









            SundarSundar

            5491420




            5491420












            • seems to be true also on product pages.

              – Aryeh Armon
              Jul 6 '15 at 5:53











            • Let me check and get back

              – Sundar
              Jul 6 '15 at 5:58











            • nope current_category register only works in category page.

              – Rajeev K Tomy
              Jul 6 '15 at 6:04











            • weird it does not for me. however i found a way to get over it ( Mage::registry('current_product') )

              – Aryeh Armon
              Jul 6 '15 at 6:06







            • 1





              Sorry. Yar. I am not aware that.. Let me edit ma answer. :)

              – Sundar
              Jul 6 '15 at 6:38

















            • seems to be true also on product pages.

              – Aryeh Armon
              Jul 6 '15 at 5:53











            • Let me check and get back

              – Sundar
              Jul 6 '15 at 5:58











            • nope current_category register only works in category page.

              – Rajeev K Tomy
              Jul 6 '15 at 6:04











            • weird it does not for me. however i found a way to get over it ( Mage::registry('current_product') )

              – Aryeh Armon
              Jul 6 '15 at 6:06







            • 1





              Sorry. Yar. I am not aware that.. Let me edit ma answer. :)

              – Sundar
              Jul 6 '15 at 6:38
















            seems to be true also on product pages.

            – Aryeh Armon
            Jul 6 '15 at 5:53





            seems to be true also on product pages.

            – Aryeh Armon
            Jul 6 '15 at 5:53













            Let me check and get back

            – Sundar
            Jul 6 '15 at 5:58





            Let me check and get back

            – Sundar
            Jul 6 '15 at 5:58













            nope current_category register only works in category page.

            – Rajeev K Tomy
            Jul 6 '15 at 6:04





            nope current_category register only works in category page.

            – Rajeev K Tomy
            Jul 6 '15 at 6:04













            weird it does not for me. however i found a way to get over it ( Mage::registry('current_product') )

            – Aryeh Armon
            Jul 6 '15 at 6:06






            weird it does not for me. however i found a way to get over it ( Mage::registry('current_product') )

            – Aryeh Armon
            Jul 6 '15 at 6:06





            1




            1





            Sorry. Yar. I am not aware that.. Let me edit ma answer. :)

            – Sundar
            Jul 6 '15 at 6:38





            Sorry. Yar. I am not aware that.. Let me edit ma answer. :)

            – Sundar
            Jul 6 '15 at 6:38













            2














            The most cleaner way to perform this is by observing to the event controller_action_layout_generate_blocks_after. So the important parts of your module (Namespace_Module) would be



            File : appcodelocalNamespaceModuleetcconfig.xml



            <config>
            <frontend>
            <events>
            <controller_action_layout_generate_blocks_after>
            <observers>
            <change_category_page_title>
            <class>namespace_module/observer</class>
            <method>setCategoryPageTitle</method>
            </change_category_page_title>
            </observers>
            </controller_action_layout_generate_blocks_after>
            </events>
            </frontend>
            </config>


            Here we are registering an observer to the event controller_action_layout_generate_blocks_after. This particular event will get triggered, after every blocks is generated from the layout. So at this particular time, we can access every blocks in the Layout. The block that we are interested here is head block (ie Mage_Page_Block_Html_Head). This block is holds the title element.



            File : appcodelocalNamespaceModuleModelObserver.php



            <?php
            class Namespace_Module_Model_Observer


            const CATEGORY_TITLE_CONSTANT = 'blah blah blah blah';

            public function setCategoryPageTitle(Varien_Event_Observer $observer)

            //ensure modification applies only for category page.
            if (Mage::registry('current_category'))
            //get head block
            $head = $observer->getLayout()->getBlock('head');
            $title = $this->_prepareCategoryTitle();
            //set new title
            $head->setTitle($title);



            protected function _prepareCategoryTitle()

            return Mage::registry('current_category')->getName()
            . '-'
            . self::CATEGORY_TITLE_CONSTANT;




            This is our observer class. The method that will alter category title is setCategoryPageTitle(). What this function does is simple. It ensures we are in a category page. Then it will grab the head block and set a new title. To set a new title, we are using a protected function _prepareCategoryTitle(). I defined this function according to this question's need. Currently it will return category name + blah blah blah. So you can alter this method and change the title according to your needs.




            Note: Here NO CORE EDITS, NO ALTERNATION IN DEFAULT TEMPLATES. That is
            why this is the cleaner method.







            share|improve this answer





























              2














              The most cleaner way to perform this is by observing to the event controller_action_layout_generate_blocks_after. So the important parts of your module (Namespace_Module) would be



              File : appcodelocalNamespaceModuleetcconfig.xml



              <config>
              <frontend>
              <events>
              <controller_action_layout_generate_blocks_after>
              <observers>
              <change_category_page_title>
              <class>namespace_module/observer</class>
              <method>setCategoryPageTitle</method>
              </change_category_page_title>
              </observers>
              </controller_action_layout_generate_blocks_after>
              </events>
              </frontend>
              </config>


              Here we are registering an observer to the event controller_action_layout_generate_blocks_after. This particular event will get triggered, after every blocks is generated from the layout. So at this particular time, we can access every blocks in the Layout. The block that we are interested here is head block (ie Mage_Page_Block_Html_Head). This block is holds the title element.



              File : appcodelocalNamespaceModuleModelObserver.php



              <?php
              class Namespace_Module_Model_Observer


              const CATEGORY_TITLE_CONSTANT = 'blah blah blah blah';

              public function setCategoryPageTitle(Varien_Event_Observer $observer)

              //ensure modification applies only for category page.
              if (Mage::registry('current_category'))
              //get head block
              $head = $observer->getLayout()->getBlock('head');
              $title = $this->_prepareCategoryTitle();
              //set new title
              $head->setTitle($title);



              protected function _prepareCategoryTitle()

              return Mage::registry('current_category')->getName()
              . '-'
              . self::CATEGORY_TITLE_CONSTANT;




              This is our observer class. The method that will alter category title is setCategoryPageTitle(). What this function does is simple. It ensures we are in a category page. Then it will grab the head block and set a new title. To set a new title, we are using a protected function _prepareCategoryTitle(). I defined this function according to this question's need. Currently it will return category name + blah blah blah. So you can alter this method and change the title according to your needs.




              Note: Here NO CORE EDITS, NO ALTERNATION IN DEFAULT TEMPLATES. That is
              why this is the cleaner method.







              share|improve this answer



























                2












                2








                2







                The most cleaner way to perform this is by observing to the event controller_action_layout_generate_blocks_after. So the important parts of your module (Namespace_Module) would be



                File : appcodelocalNamespaceModuleetcconfig.xml



                <config>
                <frontend>
                <events>
                <controller_action_layout_generate_blocks_after>
                <observers>
                <change_category_page_title>
                <class>namespace_module/observer</class>
                <method>setCategoryPageTitle</method>
                </change_category_page_title>
                </observers>
                </controller_action_layout_generate_blocks_after>
                </events>
                </frontend>
                </config>


                Here we are registering an observer to the event controller_action_layout_generate_blocks_after. This particular event will get triggered, after every blocks is generated from the layout. So at this particular time, we can access every blocks in the Layout. The block that we are interested here is head block (ie Mage_Page_Block_Html_Head). This block is holds the title element.



                File : appcodelocalNamespaceModuleModelObserver.php



                <?php
                class Namespace_Module_Model_Observer


                const CATEGORY_TITLE_CONSTANT = 'blah blah blah blah';

                public function setCategoryPageTitle(Varien_Event_Observer $observer)

                //ensure modification applies only for category page.
                if (Mage::registry('current_category'))
                //get head block
                $head = $observer->getLayout()->getBlock('head');
                $title = $this->_prepareCategoryTitle();
                //set new title
                $head->setTitle($title);



                protected function _prepareCategoryTitle()

                return Mage::registry('current_category')->getName()
                . '-'
                . self::CATEGORY_TITLE_CONSTANT;




                This is our observer class. The method that will alter category title is setCategoryPageTitle(). What this function does is simple. It ensures we are in a category page. Then it will grab the head block and set a new title. To set a new title, we are using a protected function _prepareCategoryTitle(). I defined this function according to this question's need. Currently it will return category name + blah blah blah. So you can alter this method and change the title according to your needs.




                Note: Here NO CORE EDITS, NO ALTERNATION IN DEFAULT TEMPLATES. That is
                why this is the cleaner method.







                share|improve this answer















                The most cleaner way to perform this is by observing to the event controller_action_layout_generate_blocks_after. So the important parts of your module (Namespace_Module) would be



                File : appcodelocalNamespaceModuleetcconfig.xml



                <config>
                <frontend>
                <events>
                <controller_action_layout_generate_blocks_after>
                <observers>
                <change_category_page_title>
                <class>namespace_module/observer</class>
                <method>setCategoryPageTitle</method>
                </change_category_page_title>
                </observers>
                </controller_action_layout_generate_blocks_after>
                </events>
                </frontend>
                </config>


                Here we are registering an observer to the event controller_action_layout_generate_blocks_after. This particular event will get triggered, after every blocks is generated from the layout. So at this particular time, we can access every blocks in the Layout. The block that we are interested here is head block (ie Mage_Page_Block_Html_Head). This block is holds the title element.



                File : appcodelocalNamespaceModuleModelObserver.php



                <?php
                class Namespace_Module_Model_Observer


                const CATEGORY_TITLE_CONSTANT = 'blah blah blah blah';

                public function setCategoryPageTitle(Varien_Event_Observer $observer)

                //ensure modification applies only for category page.
                if (Mage::registry('current_category'))
                //get head block
                $head = $observer->getLayout()->getBlock('head');
                $title = $this->_prepareCategoryTitle();
                //set new title
                $head->setTitle($title);



                protected function _prepareCategoryTitle()

                return Mage::registry('current_category')->getName()
                . '-'
                . self::CATEGORY_TITLE_CONSTANT;




                This is our observer class. The method that will alter category title is setCategoryPageTitle(). What this function does is simple. It ensures we are in a category page. Then it will grab the head block and set a new title. To set a new title, we are using a protected function _prepareCategoryTitle(). I defined this function according to this question's need. Currently it will return category name + blah blah blah. So you can alter this method and change the title according to your needs.




                Note: Here NO CORE EDITS, NO ALTERNATION IN DEFAULT TEMPLATES. That is
                why this is the cleaner method.








                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Jul 6 '15 at 6:48

























                answered Jul 6 '15 at 6:31









                Rajeev K TomyRajeev K Tomy

                14.7k54589




                14.7k54589





















                    0














                    Basically, title of pages from meta title field of category.



                    For your requirment,you need to rewrite class Mage_Catalog_Block_Category_View on there you need check current title using check Head block getTitle() value and reset it value to default when it does have any value.



                    Rewrite class:



                    <?php
                    class Dev_AmitCatalog_Block_Catalog_Category_View extends Mage_Catalog_Block_Category_View
                    {
                    protected function _prepareLayout()

                    parent::_prepareLayout();

                    $this->getLayout()->createBlock('catalog/breadcrumbs');

                    if ($headBlock = $this->getLayout()->getBlock('head'))
                    $category = $this->getCurrentCategory();
                    if (!$headBlock->getTitle())
                    $headBlock->setTitle($category->getName().' - blah blah blah blah');





                    config.xml:



                     <global>
                    ....
                    <blocks>
                    <amitcatalog>
                    <class>Dev_AmitCatalog_Block</class>
                    </amitcatalog>
                    <catalog>
                    <rewrite>
                    <category_view>Dev_AmitCatalog_Block_Catalog_Category_View</category_view>
                    </rewrite>
                    </catalog>
                    </blocks>
                    .....
                    </global>





                    share|improve this answer























                    • Where should the rewrite class be located? as I have put it in /Block/Catalog/Category/View.php in my extension folder but no joy

                      – Goose84
                      Feb 11 '16 at 16:54















                    0














                    Basically, title of pages from meta title field of category.



                    For your requirment,you need to rewrite class Mage_Catalog_Block_Category_View on there you need check current title using check Head block getTitle() value and reset it value to default when it does have any value.



                    Rewrite class:



                    <?php
                    class Dev_AmitCatalog_Block_Catalog_Category_View extends Mage_Catalog_Block_Category_View
                    {
                    protected function _prepareLayout()

                    parent::_prepareLayout();

                    $this->getLayout()->createBlock('catalog/breadcrumbs');

                    if ($headBlock = $this->getLayout()->getBlock('head'))
                    $category = $this->getCurrentCategory();
                    if (!$headBlock->getTitle())
                    $headBlock->setTitle($category->getName().' - blah blah blah blah');





                    config.xml:



                     <global>
                    ....
                    <blocks>
                    <amitcatalog>
                    <class>Dev_AmitCatalog_Block</class>
                    </amitcatalog>
                    <catalog>
                    <rewrite>
                    <category_view>Dev_AmitCatalog_Block_Catalog_Category_View</category_view>
                    </rewrite>
                    </catalog>
                    </blocks>
                    .....
                    </global>





                    share|improve this answer























                    • Where should the rewrite class be located? as I have put it in /Block/Catalog/Category/View.php in my extension folder but no joy

                      – Goose84
                      Feb 11 '16 at 16:54













                    0












                    0








                    0







                    Basically, title of pages from meta title field of category.



                    For your requirment,you need to rewrite class Mage_Catalog_Block_Category_View on there you need check current title using check Head block getTitle() value and reset it value to default when it does have any value.



                    Rewrite class:



                    <?php
                    class Dev_AmitCatalog_Block_Catalog_Category_View extends Mage_Catalog_Block_Category_View
                    {
                    protected function _prepareLayout()

                    parent::_prepareLayout();

                    $this->getLayout()->createBlock('catalog/breadcrumbs');

                    if ($headBlock = $this->getLayout()->getBlock('head'))
                    $category = $this->getCurrentCategory();
                    if (!$headBlock->getTitle())
                    $headBlock->setTitle($category->getName().' - blah blah blah blah');





                    config.xml:



                     <global>
                    ....
                    <blocks>
                    <amitcatalog>
                    <class>Dev_AmitCatalog_Block</class>
                    </amitcatalog>
                    <catalog>
                    <rewrite>
                    <category_view>Dev_AmitCatalog_Block_Catalog_Category_View</category_view>
                    </rewrite>
                    </catalog>
                    </blocks>
                    .....
                    </global>





                    share|improve this answer













                    Basically, title of pages from meta title field of category.



                    For your requirment,you need to rewrite class Mage_Catalog_Block_Category_View on there you need check current title using check Head block getTitle() value and reset it value to default when it does have any value.



                    Rewrite class:



                    <?php
                    class Dev_AmitCatalog_Block_Catalog_Category_View extends Mage_Catalog_Block_Category_View
                    {
                    protected function _prepareLayout()

                    parent::_prepareLayout();

                    $this->getLayout()->createBlock('catalog/breadcrumbs');

                    if ($headBlock = $this->getLayout()->getBlock('head'))
                    $category = $this->getCurrentCategory();
                    if (!$headBlock->getTitle())
                    $headBlock->setTitle($category->getName().' - blah blah blah blah');





                    config.xml:



                     <global>
                    ....
                    <blocks>
                    <amitcatalog>
                    <class>Dev_AmitCatalog_Block</class>
                    </amitcatalog>
                    <catalog>
                    <rewrite>
                    <category_view>Dev_AmitCatalog_Block_Catalog_Category_View</category_view>
                    </rewrite>
                    </catalog>
                    </blocks>
                    .....
                    </global>






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Jul 6 '15 at 6:12









                    Amit BeraAmit Bera

                    60.1k1678178




                    60.1k1678178












                    • Where should the rewrite class be located? as I have put it in /Block/Catalog/Category/View.php in my extension folder but no joy

                      – Goose84
                      Feb 11 '16 at 16:54

















                    • Where should the rewrite class be located? as I have put it in /Block/Catalog/Category/View.php in my extension folder but no joy

                      – Goose84
                      Feb 11 '16 at 16:54
















                    Where should the rewrite class be located? as I have put it in /Block/Catalog/Category/View.php in my extension folder but no joy

                    – Goose84
                    Feb 11 '16 at 16:54





                    Where should the rewrite class be located? as I have put it in /Block/Catalog/Category/View.php in my extension folder but no joy

                    – Goose84
                    Feb 11 '16 at 16:54

















                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Magento Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f73212%2fdefault-meta-titles-for-category-pages%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    منجزی محتویات تیره‌های طایفه منجزی[ویرایش] مشاهیر طایفه منجزی[ویرایش] محل سکونت[ویرایش] پانویس[ویرایش] منابع[ویرایش] منوی ناوبری«نمودار اجتماعی طوایف بختیاری»«BakhtyārBAḴTĪĀRĪ TRIBE»«اسامی طوایف و شعب ایل بختیاری»ووگسترش آن

                    بیوانفورماتیک محتویات تاریخچه[ویرایش] اهداف[ویرایش] کاربردهای بیوانفورماتیک[ویرایش] زمینه‌های مهم بیوانفورماتیک[ویرایش] موضوعات سیستم نرم‌افزاری بیوانفورماتیک[ویرایش] مراکز و ابزار[ویرایش] جستارهای وابسته[ویرایش] پیوند به بیرون[ویرایش] منابع[ویرایش] منوی ناوبریووانجمن بیوانفورماتیک ایرانمرکز بیوانفورماتیک دانشگاه تهرانمرکز ملی تحقیقات بیوانفورماتیکانستیتو بیو-آی‌تیبانک داده‌های دی ان ایمرکز ملی اطلاعات بیوتکنولوژیانستیتوی بیوانفورماتیک اروپاپورتال بیوانفورماتیک ایران«فرهنگ واژه‌های مصوب فرهنگستان ـ دفتر هشتم، بخش لاتین»وووو4611085-900870420ووو