Magento では、特定のカテゴリ内で特別価格なしで製品を入手する必要があります。
これが私が思いついたものです:
<?php
$dateYesterday = date( 'm/d/y', mktime( 0, 0, 0, date( 'm' ), date( 'd' ) - 1, date( 'y' ) ) );
$catagoryModel = Mage::getModel( 'catalog/category' )->load( $currentCategoryId );
$productCollection = Mage::getResourceModel( 'catalog/product_collection' );
$productCollection->addAttributeToSelect( 'name' );
$productCollection->addCategoryFilter( $catagoryModel );
$productCollection->addAttributeToFilter( 'special_price',
array( 'eq' => '' )
);
$productCollection->addAttributeToFilter( 'special_to_date',
array( 'date' => true, 'to' => $dateYesterday )
);
?>
上記のクエリでは、意味的には次のように、最後の 2 つのフィルターの間に「OR」条件を使用する必要があります。
$productCollection->addAttributeToFilter( 'special_price',
array( 'eq' => '' ) );
// OR
$productCollection->addAttributeToFilter( 'special_to_date',
array( 'date' => true, 'to' => $dateYesterday ) );
言い換えると:
( special_price = '' OR special_to_date <= $dateYesterday )
手伝ってくれますか?ありがとう!