Для довідки, ось хелперний метод, який я придумав, щоб перевірити новизну. Він підтримує як випадаюче Featured, так і дати, а також підтримує будь-яку дату.
public function isNew($product)
{
if ($product->getData('featured_product')) {
return true;
}
if ($product->getData('news_from_date') == null && $product->getData('news_to_date') == null) {
return false;
}
if ($product->getData('news_from_date') !== null) {
if (date('Y-m-d', strtotime($product->getData('news_from_date'))) > date('Y-m-d', time())) {
return false;
}
}
if ($product->getData('news_to_date') !== null) {
if (date('Y-m-d', strtotime($product->getData('news_to_date'))) < date('Y-m-d', time())) {
return false;
}
}
return true;
}
ОНОВЛЕННЯ: Дякуючи @Rooooomine за те, що він зазначив, що це ручне перетворення дат, яке я запропонував, є дуже поганою ідеєю через можливі проблеми з локальними. Перевірте Mage::app()->getLocale()->isStoreDateInInterval($product->getStoreId(), $newsFromDate, $newsToDate)
замість цього.