-1

こんにちは、リリース日に基づいて製品のコレクションを読み込もうとしています。

すべての製品の属性に日付があり、現在の週にリリース日を持つこれらの製品を表示したいと考えています。これが私がこれまでに得たものです

$_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();

誰かがこれについていくつかの光を共有できることを願っています

4

2 に答える 2

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();
于 2013-09-13T07:54:46.893 に答える
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);

以下の 2 つのフィルターをコレクションに追加します

$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();

これが確実に役立つことを願っています。

于 2013-09-13T07:00:20.620 に答える