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;
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
add a comment |
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
add a comment |
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
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
category
asked Jul 6 '15 at 4:59
Aryeh ArmonAryeh Armon
12014
12014
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
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.
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
nopecurrent_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
|
show 1 more comment
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.
add a comment |
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>
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
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
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
nopecurrent_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
|
show 1 more comment
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.
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
nopecurrent_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
|
show 1 more comment
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.
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.
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
nopecurrent_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
|
show 1 more comment
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
nopecurrent_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
|
show 1 more comment
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.
add a comment |
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.
add a comment |
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.
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.
edited Jul 6 '15 at 6:48
answered Jul 6 '15 at 6:31
Rajeev K TomyRajeev K Tomy
14.7k54589
14.7k54589
add a comment |
add a comment |
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>
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
add a comment |
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>
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
add a comment |
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>
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>
answered Jul 6 '15 at 6:12
Amit Bera♦Amit 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
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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