zoukankan      html  css  js  c++  java
  • Magento添加左侧目录商品菜单导航栏

    自己写了一个Magento左侧目录 的实现,跟网上的其他版本不一样。

    目标:

    首页左侧显示商品目录

    内页显示同级目录及父、子目录

    商品详细页面显示一路父目录

    本范例比较适合综合站使用,当然单独站也兼容。

    效果:

    magento左侧目录效果图1

    左侧目录全部展开的情况

    magento左侧目录效果图2

    展开了二级目录

    magento左侧目录效果图3

    定位到Magento三级目录

    实现:

    布局设置,

    app\design\frontend\default\default\layout\catalog.xml 加,

    <reference name=”left”>
    <block type=”catalog/navigation” name=”cms_catalog” template=”catalog/catalog.phtml”/>
    </reference>

    模板文件,

    app\design\frontend\default\default\template\catalog 建catalog.phtml,内容为:

    <style>.currentCategory{color:#004cb8; font-weight:bold;}</style>
    <!-- /*S_leftNavContainer*/ -->
    <div id="leftNavContainer" name="leftNavContainer">
    <?php 
    $_cat        = $this->getCurrentCategory();
    $current_cat    = (is_object($_cat) ? $_cat->getName() : '');
    $leftNav    = '<ul id="leftNav" name="leftNav">';
    switch( $_cat -> getLevel() ){
    case '2':
    default:
        $leftNav    .= '<li class="leftnav_title"><a href="'.$this -> getCategoryUrl($_cat).'" class="currentCategory">'.$_cat -> getName().'</li>';
        $_categories    = $_cat->getChildrenCategories();
        $leftNav    .= '<ul>';
        foreach( $_categories as $_category ){
            $leftNav    .= '<li class="lefnavtwo"><a href="'.$this -> getCategoryUrl( $_category ).'" >'.$_category -> getName().'</a></li>';
        }
        $leftNav    .= '</ul>';
    break;
    case '3':
        $_parent    = $_cat -> getParentCategory();
        $leftNav    .= '<li class="leftnav_title"><a href="'.$this -> getCategoryUrl($_parent).'">'.$_parent -> getName().'</a></li>';
        $_categories    = $_parent -> getChildrenCategories();
        $leftNav    .= '<ul>';
        foreach( $_categories as $_category ){
            $leftNav    .= '<li class="lefnavtwo">';
            if( $current_cat == $_category->getName() ){
                $leftNav    .= '<a class="currentCategory" href="'.$this -> getCategoryUrl( $_category ).'" >'.$_category -> getName().'</a>';
                $leftNav    .= '<ul>';
                if( $_category -> hasChildren() ){
                    $childCategoies    = $_category -> getChildrenCategories();
                    foreach( $childCategoies as $_ccategory ){
                        $leftNav    .= '<li class="lefnavthree"><a href="'.$this -> getCategoryUrl( $_ccategory ).'" >'.$_ccategory -> getName().'</a></li>';
                    }
                }
                $leftNav    .= '</ul>';
            }else{
                $leftNav    .= '<a href="'.$this -> getCategoryUrl( $_category ).'" >'.$_category -> getName().'</a>';
            }
            $leftNav    .= '</li>';
        }
        $leftNav    .= '</ul>';
    break;
    case '4':
        $_parent    = $_cat -> getParentCategory();
        $_pname        = $_parent -> getName();
        $_pparent    = $_parent -> getParentCategory();
        $leftNav    .= '<li class="leftnav_title"><a href="'.$this->getCategoryUrl($_pparent).'">'.$_pparent -> getName().'</h3></li>';
        $_categories    = $_pparent -> getChildrenCategories();
        $leftNav    .= '<ul>';
        foreach( $_categories as $_category ){
            $leftNav    .= '<li class="lefnavtwo">';
            $leftNav    .= '<a href="'.$this -> getCategoryUrl( $_category ).'" >'.$_category -> getName().'</a>';
            if( $_pname == $_category->getName() ){
                $_categories    = $_category -> getChildrenCategories();
                $leftNav    .= '<ul>';
                foreach( $_categories as $_ccategory ){
                    $leftNav    .= '<li class="lefnavthree">';
                    if( $current_cat == $_ccategory -> getName() ){
                        $leftNav    .= '<a class="currentCategory" href="'.$this -> getCategoryUrl( $_ccategory ).'" >'.$_ccategory -> getName().'</a>';
                    }else{
                        $leftNav    .=  '<a href="'.$this -> getCategoryUrl( $_ccategory ).'" >'.$_ccategory -> getName().'</a>';
                    }
                    $leftNav    .= '</li>';
                }
                $leftNav    .= '</ul>';
            }
            $leftNav    .= '</li>';
        }
        $leftNav    .= '</ul>';
    break;
    }
    $leftNav    .= '</ul>';
    echo $leftNav;
    ?>
    </div>
    <!-- /*E_leftNavContainer*/ -->
     

    
    

    这样就实现了Magento左侧目录 的添加。

  • 相关阅读:
    MySQL 存储过程和函数02
    MySQL 视图 存储过程(未完)
    MySQL 简单索引
    Nginx 设置前后端跨域
    Pipeline流水线 自动脚本
    luogu 2024 食物链
    spoj Corporative Network
    luogu2787 语文1(chin1)- 理理思维
    HDU6579 Operation
    luogu3857 彩灯
  • 原文地址:https://www.cnblogs.com/zhouwenwu/p/2473614.html
Copyright © 2011-2022 走看看