Yanıt büyük ölçüde ana/alt ürünle nasıl ilgileneceğinize bağlıdır (eğer gerekiyorsa). Eğer üst/alt tipi ürünleri ile ilgileniyor eğer,
$productId = 1;
$quote = Mage::getSingleton('checkout/session')->getQuote();
if (! $quote->hasProductId($productId)) {
// Product is not in the shopping cart so
// go head and show the popup.
}
Alternatif: Yalnızca basit ürünlerle yalnızca ilgileniyor veya üst/alt tipi ürünler varsa ve daha sonra çocuk kimliği yıllardan test etmek gerekirse
ve ancak o zaman üst kimliği için test etmek istiyorum:
$productId = 1;
$quote = Mage::getSingleton('checkout/session')->getQuote();
$foundInCart = false;
foreach($quote->getAllVisibleItems() as $item) {
if ($item->getData('product_id') == $productId) {
$foundInCart = true;
break;
}
}
DÜZENLEME
soruydu controller_action_predispatch_checkout_cart_add
'da bir kayıt defteri değerinin ayarlanmasının neden cart.phtml dosyasında alınamayacağıyla ilgili bir yorumda bulunuldu.
Esasen kayıt defteri değeri yalnızca tek bir isteğin ömrü boyunca kullanılabilir - checkout/cart/add'e gönderiyorsunuz ve daha sonra checkout/cart/index'e yönlendiriliyorsunuz, böylece kayıt değerleriniz kayboluyor.
o zaman bunun yerine oturumu kullanabilirsiniz bu genelinde bir değer inat isterseniz: En gözlemci olarak
:
Mage::getSingleton('core/session')->setData('your_var', 'your_value');
değerini almak için
$yourVar = Mage::getSingleton('core/session')->getData('your_var', true);
GetData'ya iletilen gerçek bayrak, oturumdaki değeri kaldıracak Senin için iyon.
Ürün sepetine eklenmeden önce ürün kimliğini aldığım için "controller_action_predispatch_checkout_cart_add" kullanmıştım. Sepette phtml sayfasında ürün kimliği almak için register değişkenini kullanmıştım ... ve bahsettiğiniz durum kontrolü için bir işlev hazırladım. .but şimdi kayıt defteri ile sepeti sayfasında productid almak mümkün değilim .. lütfen bunun için bana yardım edin .. – Tamanna
sizin için bunu açıklamak için cevabı güncelledim –
Teşekkür ederim o kadar çok Drew Hunter..A Benim için mükemmel çözüm ... yardım ettiğin için teşekkür ederim...:):) – Tamanna