在Magento 1.9中如何在顶部菜单中显示迷你车



我是Magento 1.9的新手。我有一个自定义主题。我需要在顶部菜单中显示功能迷你车。现在我不确定如何实现这一目标?

我找到了一个问题的逐步指南。在此处共享链接以备将来参考。

http://dltr.org/blog/magento/118/magento-add-sidebar-mini-cart-on-the-header

此标头迷你车取决于侧栏迷你车,请确保它的活动性在:Magento Admin/System/Configuration/Sales/Checkout/购物车侧栏选择"是"以展示购物车侧栏。

在Checkout.xml上添加以下代码:

路径:app design frontend your-package your-template layout checkout.xml

<reference name="header">
    <block type="checkout/cart_sidebar" name="cart_cartheader" template="checkout/cart/cartheader.phtml" before="-">
        <action method="addItemRender"><type>simple</type><block>checkout/cart_item_renderer</block><template>checkout/cart/cartheader/default.phtml</template></action>
      <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/cart/cartheader/default.phtml</template></action>
      <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/cart/cartheader/default.phtml</template></action>
        <block type="core/text_list" name="cart_cartheader.extra_actions" as="extra_actions" translate="label" module="checkout">
            <label>Shopping Cart Cartheader Extra Actions</label>
        </block>
    </block>
</reference>

在下面的结帐/购物车下创建新文件Cartheader.phtml,并在其中添加以下代码:

路径:app design frontend your-package your-template template checkout cart cart cartheader.phtml

<div class="mini-cart-layer">
    <?php if ($this->getIsNeedToDisplaySideBar()):?>
        <div class="top-cart">
            <?php $_cartQty = $this->getSummaryCount() ?>
            <?php if ($_cartQty > 0): ?>
                <?php $_myCart = $this->__('Shopping Cart (%s items)', $_cartQty) ?>
            <?php else: ?>
                <?php $_myCart = $this->__('Shopping Cart (0 item)') ?>
            <?php endif ?>
            <?php if ($this->getIsLinkMode() || !$this->getIsNeedToDisplaySideBar()):?>
                <div class="block-title no-items">
                    <ul class="links cart-link">
                        <li ><a href="<?php echo $this->getUrl('checkout/cart'); ?>" rel="nofollow"><?php echo $_myCart ?></a>  </li>
                    </ul>
                </div>
            <?php else:?>
                <div class="block-title<?php if(!$_cartQty) { echo (' no-items'); } ?>">
                    <span id="cartHeader"><?php echo $_myCart ?></span>
                </div>
                <div id="topCartContent" class="block-content" style="display:none">
                    <div class="inner-wrapper"><?php /*extra div to smooth slideUp and slideDown*/ ?>
                        <?php $_items = $this->getRecentItems() ?>
                        <?php if(count($_items)): ?>
                            <p class="block-subtitle">
                                <span onclick="toggleTopCart();" class="close-btn"><?php echo $this->__('Close'); ?></span>
                                <?php echo $this->__('Recently added item(s)') ?>
                            </p>
                            <ol id="mini-cart" class="mini-products-list">
                                <?php foreach($_items as $_item): ?>
                                    <?php echo $this->getItemHtml($_item) ?>
                                <?php endforeach; ?>
                            </ol>
                            <script type="text/javascript">decorateList('mini-cart', 'none-recursive')</script>
                        <?php else: ?>
                            <p class="block-subtitle">
                                <span onclick="toggleTopCart()" class="close-btn"><?php echo $this->__('Close'); ?></span>
                                    <?php echo $this->__('Recently added item(s)') ?>
                            </p>
                            <p class="cart-empty">
                                <?php echo $this->__('You have no items in your shopping cart.') ?>
                            </p>
                        <?php endif ?>
                        <?php if($_cartQty && $this->isPossibleOnepageCheckout()): ?>
                            <div class="actions">
                                <a href="<?php echo $this->getUrl('checkout/cart'); ?>" rel="nofollow"><?php echo $this->__('Go to Shopping Cart') ?></a>
                                <button class="button" type="button" onclick="setLocation('<?php echo $this->getCheckoutUrl() ?>')"><span><span><?php echo $this->__('Checkout') ?></span></span></button>
                            </div>
                        <?php endif ?>
                    </div>
                </div>
            <?php endif;?>
        </div>
    <?php endif;?>
</div>
如下

路径:app design frontend your-package your-template template checkout cart cartheader cartheader default.phtml

<?php
$_item = $this->getItem();
$isVisibleProduct = $_item->getProduct()->isVisibleInSiteVisibility();
//$canApplyMsrp =   Mage::helper('catalog')->canApplyMsrp($_item->getProduct(),     Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type::TYPE_BEFORE_ORDER_CONFIRM    );
?>
<li class="item">
    <?php if ($this->hasProductUrl()): ?>
        <a href="<?php echo $this->getProductUrl()?>" title="<?php echo     $this->htmlEscape($this->getProductName()) ?>" class="product-image"><img src="<?php echo $this->getProductThumbnail()->resize(50, 50)->setWatermarkSize('30x10'); ?>" width="50" height="50" alt="<?php echo $this->htmlEscape($this->getProductName()) ?>" /></a>
    <?php else: ?>
        <span class="product-image"><img src="<?php echo $this->getProductThumbnail()->resize(50, 50)->setWatermarkSize('30x10'); ?>" width="50" height="50" alt="<?php echo $this->htmlEscape($this->getProductName()) ?>" /></span>
    <?php endif; ?>
    <div class="product-details">
        <p class="product-name">
            <?php if ($this->hasProductUrl()): ?>
                <a href="<?php echo $this->getProductUrl() ?>">
            <?php endif; ?>
                <?php echo $this->htmlEscape($this->getProductName()) ?>
            <?php if ($this->hasProductUrl()): ?>
                </a>
            <?php endif; ?>
        </p>
        <a href="<?php echo $this->getDeleteUrl() ?>" title="<?php echo $this->__('Remove This Item') ?>" onclick="return confirm('<?php echo $this->__('Are you sure you would like to remove this item from the shopping cart?') ?>');" class="top-btn-remove">
            <?php echo $this->__('Remove This Item') ?>
        </a>
    </div>
</li>

打开模板页面/html/header.phtml,在底部或合适地点添加以下代码

<?php echo $this->getChildHtml('cart_cartheader') ?>

现在,我们需要JavaScript才能上下滑动迷你车(滑动切换)。要实现该切换效果,请在名为cf.js

的新JavaScript文件上添加以下代码。

路径:皮肤 frontend your-package your-template js cf.js

/**
function slideUp()
{
    jQuery('#topCartContent:visible').slideUp(1000);
    jQuery('.mini-cart-layer').addClass('mini-cart-layer-up');
    jQuery('.mini-cart-layer').removeClass('mini-cart-layer-down');
}
function slideDown()
{
    jQuery('#topCartContent:hidden').slideDown(1000);
    /*startTimer()*/ /* optional*/
    jQuery('.mini-cart-layer').addClass('mini-cart-layer-down');
    jQuery('.mini-cart-layer').removeClass('mini-cart-layer-up');
}
function toggleTopCart()
{
if(jQuery('#topCartContent').is(':visible'))
    {
        slideUp();
    } else {
        slideDown();
    }
}
var timer;
function startTimer()
{
    timer = setTimeout(function(){
        slideUp();
    }, 5000);
}
jQuery(document).ready(function(){
    jQuery('.mini-cart-layer .top-cart .block-title #cartHeader').click(function(){
        toggleTopCart();
    });
    jQuery('.mini-cart-layer .top-cart .block-title         #cartHeader').mouseover(function(){
        clearTimeout(timer);
    }).mouseout(function(){
        startTimer();
    });
    jQuery("#topCartContent").mouseover(function() {
        clearTimeout(timer);
    }).mouseout(function(){
        startTimer();
    });
});

在jQuery包含之后,在本节上包含上面的文件。

路径:app design frontend your-package your-template layout page.xml

<action method="addItem"><type>skin_js</type><name>js/jquery.js</name><params/></action>
<action method="addItem"><type>skin_js</type><name>js/cf.js</name><params/></action>

现在为选项卡的CSS的时间:您需要修改作为您的需要并替换图像。

/*---*/
.clear:after {
clear: both;
content: ".";
display: block;
height: 0;
visibility: hidden;
}
div.mini-cart-layer {
background: url("../images/view_shopping_cart.jpg") no-repeat scroll 0 0 transparent;
height: 26px;
padding: 0;
position: absolute;
right: 0;
top: 9px;
width: 165px;
z-index: 99;
}
.top-cart .top-btn-remove {
background: url("../images/btn_remove.gif") no-repeat scroll 0 0 transparent;
display: block;
font-size: 11px;
height: 15px;
line-height: 11px;
margin: 0 0 3px;
overflow: hidden;
padding: 0 0 0 15px;
}
div.mini-cart-layer-up{}
div.mini-cart-layer-down{background-position: 0 bottom;}
.mini-cart-layer span#cartHeader {
display: block;
height: 26px;
overflow: hidden;
text-align: left;
text-indent: -99999px;
width: 165px;
}
.top-cart {
float: left;
position: relative;
}
.top-cart .block-title {
white-space: nowrap;
cursor: pointer;
}
.top-cart .block-title.expanded {
background-position: 0 3px !important;
}
.top-cart .block-title.expanded span {
background-position: 100% -126px !important;
}
.top-cart .block-content {
background: none repeat scroll 0 0 #FDFDFD;
font-size: 11px;
position: absolute;
right: 0;
text-align: left;
top: 20px;
width: 267px;
}
.top-cart .block-content ol {
margin: 0;
padding: 0;
list-style: none outside none;
}
.top-cart .inner-wrapper {
border: 4px solid #DB4C6A;
}
.top-cart .block-content .block-subtitle {
background: #DB4C6A;
font-size: 10px;
font-weight: bold;
color: #fff;
line-height: 12px;
padding: 3px 10px 4px;
}
.top-cart .block-content .block-subtitle .close-btn {
float: right;
width: 13px;
height: 0;
padding-top: 12px;
text-align: left;
overflow: hidden;
cursor: pointer;
background: url(../images/btn_remove.gif) no-repeat 0 0;
position: relative;
z-index: 1;
}
.top-cart .cart-empty .close-btn {
float: right;
width: 13px;
height: 0;
padding-top: 12px;
text-align: left;
overflow: hidden;
cursor: pointer;
background: url(../images/btn_remove.gif) no-repeat 0 0;
position: relative;
z-index: 1;
}
.top-cart .cart-empty {
padding: 10px 10px 10px 20px;
color: #666;
}
.top-cart .block-content .item {
padding: 8px 5px 8px 11px;
border-bottom: 1px solid #DDD;
margin: 0 5px;
}
.top-cart .block-content .last {
border-bottom: none;  
}
.top-cart .block-content .item .product-name {
font-size: 11px;
height: 30px;
line-height: 14px;
margin: 0 0 5px;
overflow: hidden;
}
.top-cart .block-content .item .product-name a {
font-size: 11px;
text-decoration: none;
color: #444;
}
.top-cart .block-content table {
margin: 5px 0 0 0;
}
.top-cart .block-content table th {
padding: 1px 8px;
color: #8f8f8f;
text-align: right;
}
.top-cart .block-content table td {
text-align: left;
padding: 1px 0;
}
.top-cart .block-content .subtotal {
padding: 2px 5px;
text-align: center;
color: #666;
}
.top-cart .actions {
background-color: #DB4C6A;
color: #FFFFFF;
padding: 5px 11px;
text-align: right;
z-index: 999;
}
.top-cart .actions a {
float: left;
line-height: 23px;
}
.top-cart .actions button {
float: none;
color: #FFF;
padding-top: 3px;
}
div.top-cart {
float: none;
}
div.top-cart .block-title {
color: #000000;
display: block;
float: none;
font-family: arial;
font-size: 12px;
font-weight: bold;
padding: 0;
}
div.top-cart .block-content {
top: 26px;
}
div.top-cart .block-content ol li {
display: block;
float: none;
}
/*===*/

最新更新