有没有按日期范围显示畅销书?例如30天,60天等
这是我目前的bestsellers.phtml,我们不知道这些数据来自哪个范围
<?php
$params = $this->getData();
if(array_key_exists('limit', $params)) {
$limit = $this->getData('limit');
} else {
$limit = 3;
}
$products = $this->getBestSellers($limit);
?>
<script type="text/javascript" src="<?php echo $this->getSkinUrl('js/overlay_jquery.js');?>"></script>
<script type="text/javascript" src="<?php echo $this->getSkinUrl('msslider/slider2/stepcarousel.js') ?>"></script>
<script type="text/javascript">
stepcarousel.setup({
galleryid: 'mygallery', //id of carousel DIV
beltclass: 'belt', //class of inner "belt" DIV containing all the panel DIVs
panelclass: 'panel', //class of panel DIVs each holding content
autostep: {enable:false, moveby:1, pause:2000},
panelbehavior: {speed:500, wraparound:true, wrapbehavior:'slide', persist:true},
defaultbuttons: {enable: false, moveby: 1, leftnav: ['<?php echo $this->getSkinUrl('msslider/slider2/arrowl.png')?>', -15, 100], rightnav: ['<?php echo $this->getSkinUrl('msslider/slider2/arrowr.png')?>', -25, 100]},
contenttype: ['inline'] //content setting ['inline'] or ['ajax', 'path_to_external_file']
})
</script>
<div class="category-products home-page-listing">
<div id="mygallery" class="stepcarousel">
<div class="belt products-grid">
<?php if(is_array($products) && count($products)): ?>
<?php $i = 0; foreach($products as $product): ?>
<div class="panel">
<div class="product-topbg">
<div class="product-bottombg">
<div class="product-midbg">
<h2 class="product-name" style="margin: 5px 0px 15px;">
<?php echo $product['category_name']; ?>
</h2>
<div class="overlay"
id="overlay-<?php echo $i; ?>"
>
<a href="<?php echo $product['url']; ?>"
title="<?php echo $product['name']; ?>"
>
<img src="<?php echo $product['image_url']; ?>"
width="160" height="160"
alt="<?php echo $product['name']; ?>"
/>
</a>
</div>
<h2 class="product-name" style="margin: 15px 0px 5px;">
<a href="<?php echo $product['url']; ?>"
title="<?php echo $product['name']; ?>">
<?php echo $product['name']; ?>
</a>
</h2>
<div class="overlay-show"
id="overlay-show-<?php echo $i;?>"
>
<div class="product-price">
<?php echo $product['price']; ?>
</div>
<div class="price-bottombg"></div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var $i = jQuery.noConflict();
$i("#overlay-<?php echo $i;?>").hover(function () {
if ($i("#overlay-show-<?php echo $i;?>").is(":hidden")) {
$i("#overlay-show-<?php echo $i;?>").slideDown("fast");
} else {
$i("#overlay-show-<?php echo $i;?>").slideUp("fast");
}
});
</script>
</div>
<?php $i++; endforeach;?>
<?php endif; ?>
</div>
</div>
<script type="text/javascript">
decorateGeneric($$('ul.products-grid'), ['odd', 'even', 'first', 'last']);
</script>
</div>
感谢您对此代码的任何帮助。
答案 0 :(得分:0)
正如我所看到的,这是属于某些3-d聚会扩展的块(或者smb可能已经编写了它)。这就是为什么你应该找到块并通过getBestSellers方法更正它收到的产品集合。
如果您只想查看最近3个更新的产品,最简单的方法是将'updated_at'的'order DESC'添加到集合中
因此,前3个产品将在列表中最后更新。它看起来像这样:
$collection->setOrder('update_at', Varien_Data_Collection_Db::SORT_ORDER_DESC);
如果您想要填充其他字段,这与'updated_at'不同,只需使用其名称而不是'updated_at'。
请注意,您应该在下载集合之前实现所有更改。
可以通过'updated_at'或通过布局找到该块。此外,您可以在模板内搜索updated_at。使用最方便的方法。