根据周数加载产品

时间:2013-09-13 06:22:21

标签: magento

您好我试图根据发布日期加载一系列产品。

我在所有产品的属性中都有日期,我希望显示这些产品的当前发布日期。 这是我到目前为止所得到的

$_productCollection = Mage::getResourceModel('catalog/product_collection')
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('film_format', 7 )
    ->addAttributeToFilter('film_releasedatum', array('eq' => date("o-W", strtotime("W"))))
    ->addAttributeToFilter('attribute_set_id', 14 )
    ->setOrder('film_releasedatum','DESC')
    ->load();

我希望有人可以分享一下这个

2 个答案:

答案 0 :(得分:2)

选择记录的日期有一个特殊条件。请尝试改变。

$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('film_format', 7 )
->addAttributeToFilter('film_releasedatum', array('gteq' =>$start))
->addAttributeToFilter('film_releasedatum', array('lteq' =>$end))
->addAttributeToFilter('attribute_set_id', 14 )
->setOrder('film_releasedatum','DESC')
->load();

要。

$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('film_format', 7 )
->addAttributeToFilter('film_releasedatum', array(
    'from' => $first,
    'to' => $end,
    'date' => true,
    ))
->addAttributeToFilter('attribute_set_id', 14 )
->setOrder('film_releasedatum','DESC')
->load();

答案 1 :(得分:1)

在这里,我可以为您提供替代过滤器属性,确保为您服务

创建当周的开始和结束日期

$date = time(); // Change to whatever date you need
$dotw = $dotw = date('w', $date);
$end = ($dotw == 5 /* Friday */) ? $date : strtotime('next Friday', $date);
$start = $end - (6 * 24*60*60);
$start = date('Y-m-d',$start);
$end = date('Y-m-d',$end);

在您的收藏中添加以下两个过滤器

$collection->addAttributeToFilter('film_releasedatum', array('gteq' =>$start));
    $collection->addAttributeToFilter('film_releasedatum', array('lteq' => $end));

最终过滤器看起来像

$_productCollection = Mage::getResourceModel('catalog/product_collection')
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('film_format', 7 )
    ->addAttributeToFilter('film_releasedatum', array('gteq' =>$start))
    ->addAttributeToFilter('film_releasedatum', array('lteq' =>$end))
    ->addAttributeToFilter('attribute_set_id', 14 )
    ->setOrder('film_releasedatum','DESC')
    ->load();

希望这对您有所帮助。