1. 为前端页面添加面包屑
基本步骤类似大象装冰箱:在controller文件中填充面包屑数据,在block的phtml文件中显示
1). 在controller的Action方法中
Php代码:
//判断是否存在名字为breadcrumbs的Block(默认都存在,后面有说明)
if ($breadcrumbsBlock = $this->getLayout()->getBlock(‘breadcrumbs’)) {
// 该条目有目标链接地址
$breadcrumbsBlock->addCrumb(‘category’, array(
‘label’ => ‘Category’,
‘title’ => ‘Category Title’,
‘link’ => ‘http://www.google.com’,
‘readonly’ => true,
));
// 该条目没有链接地址,一般作为最后一个条目
$breadcrumbsBlock->addCrumb(‘product’, array(‘label’ => Mage::helper(‘catalog’)->__(‘Product’)));
}
//判断是否存在名字为breadcrumbs的Block(默认都存在,后面有说明)
if ($breadcrumbsBlock = $this->getLayout()->getBlock(‘breadcrumbs’)) {
// 该条目有目标链接地址
$breadcrumbsBlock->addCrumb(‘category’, array(
‘label’ => ‘Category’,
‘title’ => ‘Category Title’,
‘link’ => ‘http://www.google.com’,
‘readonly’ => true,
));
// 该条目没有链接地址,一般作为最后一个条目
$breadcrumbsBlock->addCrumb(‘product’, array(‘label’ => Mage::helper(‘catalog’)->__(‘Product’)));
}
2). 在该action对应的Layout文件中添加Block
Xml代码:
<block type=”page/html_breadcrumbs” name=”breadcrumbs” as=”breadcrumbs”/>
<block type=”page/html_breadcrumbs” name=”breadcrumbs” as=”breadcrumbs”/>相应的在你的Block的合适位置输出面包屑
Php代码:
<?php echo $this->getChildHtml(‘breadcrumbs’); ?>
<?php echo $this->getChildHtml(‘breadcrumbs’); ?>以上描述的是面包屑的一般原理,Magento实际上已经默认声明了Block
Xml代码:
<block type=”page/html_breadcrumbs” name=”breadcrumbs” as=”breadcrumbs”/>
<block type=”page/html_breadcrumbs” name=”breadcrumbs” as=”breadcrumbs”/>而且默认的几个layout模板文件(page/1column.phtml,page/2columns-left.phtml..等)已经做了
Php代码:
<?php echo $this->getChildHtml(‘breadcrumbs’); ?>
<?php echo $this->getChildHtml(‘breadcrumbs’); ?>
所以实际上,你只需要完成第一步就大功告成了。