Dari pencarian cepat, satu-satunya referensi yang saya temukan adalah di forum Magento yang menyarankan Anda harus menulis beberapa kode khusus untuk memeriksa apakah suatu produk baru.
Saya akan berpikir akan ada isNew()
metode sederhana Mage_Catalog_Model_Product
yang memperhitungkan dropdown Unggulan serta bidang Set Produk Baru Dari Tanggal dan Setel Produk Sebagai Baru Ke Tanggal - tapi itu tampaknya tidak menjadi masalah?
Apakah kode khusus diperlukan?
isObjectNew()
tapi saya mengerti apa yang Anda katakan.Jawaban:
Anda benar-benar TIDAK boleh mengonversi dan memvalidasi tanggal secara manual, karena ini dapat menyebabkan masalah zona waktu. Magento memiliki metode bawaan
isStoreDateInInterval()
diMage_Core_Model_Locale
kelas. Jadi, Anda harus membuat metode pembantu yang bisa terlihat seperti iniDetail lebih lanjut dapat Anda temukan di sini http://quicktips.ru/all/check-product-is-new/
sumber
Tidak ada panggilan metode tunggal. Setidaknya saya tidak menyadarinya.
Namun demikian Anda selalu dapat menggunakan sesuatu seperti ini:
Maaf saya tidak bagus dalam perbandingan tanggal PHP.
Pertanyaan yang bagus.
sumber
Untuk referensi, inilah metode pembantu yang saya buat untuk memeriksa kebaruan. Ini mendukung dropdown Featured serta tanggal, dan mendukung tanggal yang kosong juga.
UPDATE: Terima kasih kepada @Rooooomine untuk menyebutkan bahwa konversi tanggal manual ini yang saya sarankan adalah ide yang sangat buruk karena potensi masalah lokal. Lihat
Mage::app()->getLocale()->isStoreDateInInterval($product->getStoreId(), $newsFromDate, $newsToDate)
saja.sumber
Ketepatan yang mungkin berguna bagi seseorang. Semua jawaban ini menggunakan atribut "news_from_date" tetapi jika Anda ingin mendapatkan tanggal pembuatan produk yang sebenarnya dalam database, Anda harus mendapatkan atribut "Created_at" menggunakan metode:
Dalam proyek yang saya kerjakan, beberapa produk mungkin memiliki nilai "news_from_date" berbeda dari "Created_at". Memang menurut aturan bisnis, suatu produk bisa kehabisan stok untuk waktu yang lama dan kemudian kembali sebagai produk baru ketika kembali ke katalog.
sumber
Solusi Cepat
sumber
Anda dapat mencoba kode di bawah ini
Di mana
$this
objekMage_Catalog_Model_Product
dan Anda perlu memuat produk jika belum dimuat.sumber