为Magento的页面修改Meta的三个标签Title、Keywords和Description有时候会是一个很麻烦的事情。你可能 会从网上找到各种方法,修改之后刷新前台,却总见不到页面有任何改变。这里我们把Magento修改Meta标签的两个主要方法了解下,以后应该就能很方 便的修改这些内容了。
方法一:XML布局文件
我们假设一个新的模块的新的页面,Ruiwant_Rewards_IndexController::indexAction(),该页面在 xml中的handle是,如果我们想给该页面设置Meta标签,在XML文件中应该通过如下代 码设置。
01
02
03
04
05
06
07
Your Module Page Title
your, module, keywords
Your Module Description
同样的道理,举例来说,如果你想修改产品详细页面的Meta标签,可以到catalog.xml布局文件中 的handle中找到类似上面的代码,然后修改。不过,你应该是找不到的,因为Magento 的产品页面3个Meta标签的设置是在后台产品管理中进行设置的。
方法二:后台设置
上面提到,产品页面的meta标签都是在后台设置的,和这类似的还包括CMS页面(首页),分类页面等。这种修改方式应该是最简单的一种了。
方法三:Mage_Page_Block_Html_Head
如果通过上述两种方式,你都无法改变需要改变的页面Meta标签,那么这个页面肯定就是通过Mage_Page_Block_Html_Head这个Block来设定的了。你可以找到该页面的控制器或者Block文件,类似下面的代码片段。
01
02
03
04
05
06
07
08
09
10
$this->loadLayout();
//设置Meta Title
$this->getLayout()->getBlock('head')->setTitle($this->__('锐想Magento Title'));
//设置Meta Keywords
$this->getLayout()->getBlock('head')->setKeywords($this->__('锐想Magento Keywords'));
//设置Meta Descrption
$this->getLayout()->getBlock('head')->setDescription($this->__('锐想Magento Description'));
$this->renderLayout();
上面三个方法非常明显了,根据你的需要进行修改即可。另外需要注意的时,使用这些方法之前,首先需要loadLayout(),否 则$this->getLayout()是无法调用到当前布局对象的。head的更多方法可以参考 Mage_Page_Block_Html_Head类文件。
(责任编辑:最模板)