2015-05-19 130 views
1

請問我需要關於幾年前的話題的幫助。我需要檢索產品訂閱警報(如果客戶已發送產品警報,則他不應該能夠發送它兩次,所以這個產品的警報應該消失這個客戶)。我發現這magento產品警報應該在訂閱時消失

$customer_product_alerts = 
Mage::getModel('productalert/stock')->getCollection()>addFieldToFilter ('customer_id', $customer_id); 

在先例的討論,但我不知道在哪裏應用它。

回答

0

使用此代碼獲取訂閱的所有客戶產品。

$customer_id = Mage::getSingleton('customer/session')->getCustomer()->getId(); 
if($customer_id) { 
    $customer_stock_alerts = Mage::getModel('productalert/stock')->getCollection()->addFieldToFilter('customer_id', $customer_id); 
    $i = 0; 
    $product_ids = array(); 
    foreach ($customer_stock_alerts as $alert) 
    { 
    $product_ids[i] = $alert->getProductId(); 
    $i++; 
    } 
} 

您將所有當前客戶的產品ID。
使用in_array方法檢查產品ID與客戶訂閱的產品id。如果真的隱藏塊,則顯示塊。
這看起來像下面的東西。

if(!in_array($_product->getId(),$product_ids)) 
{ 
    echo $this->getChildHtml('alert_urls'); 
} 

希望可以幫助你,
感謝。