Default meta titles for category pages Planned maintenance scheduled April 17/18, 2019 at...
Why are both D and D# fitting into my E minor key?
Is it common practice to audition new musicians 1-2-1 before rehearsing with the entire band?
Should I use a zero-interest credit card for a large one-time purchase?
また usage in a dictionary
What is the meaning of the simile “quick as silk”?
Wu formula for manifolds with boundary
What are the out-of-universe reasons for the references to Toby Maguire-era Spider-Man in ITSV
Can a new player join a group only when a new campaign starts?
Is "Reachable Object" really an NP-complete problem?
What's the meaning of "fortified infraction restraint"?
Amount of permutations on an NxNxN Rubik's Cube
What causes the direction of lightning flashes?
Can an alien society believe that their star system is the universe?
First console to have temporary backward compatibility
Generate an RGB colour grid
Do wooden building fires get hotter than 600°C?
Is there any way for the UK Prime Minister to make a motion directly dependent on Government confidence?
Most bit efficient text communication method?
Do square wave exist?
Why aren't air breathing engines used as small first stages
Why are the trig functions versine, haversine, exsecant, etc, rarely used in modern mathematics?
Denied boarding although I have proper visa and documentation. To whom should I make a complaint?
Is there a kind of relay only consumes power when switching?
representation of vector and matrix in latex
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 3 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