チェックアウト後の成功ページ(success.phtml)で、特定の製品IDを購入した場合にのみスクリプトを実行したいと思います。これは可能ですか?
Magento1.4.2を使用しています。
これをSuccess.phtmlに追加してみてください
$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
$items = $order->getItemsCollection();
$sku = $ids = array();
foreach($items as $item){
//$sku[] = $item->getSku();
$p_ids[] = $item->getProductId();
}
$p_id = 16;
if(in_array($p_id, $p_ids)){
//run script
}
この種のロジックは、success.phtmlページで機能する可能性があります。
$
if($this->getOrderId()) {
$found = false;
$skuToFind = 'abc';
$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
$items = $order->getAllItems();
foreach ($items as $i => $item) {
if($item->getSku() == $skuToFind) {
$found = true; break;
}
}
if($found) { echo "Product Found"; } else { echo "No Found"; }
?>
さて、あなたはカート変数を見つける必要があるだけです。正確な変数はわかりませんが、$ _ SESSIONをエコーアウトすると、それらがどこにあるかがわかります。次のサンプルコードを確認してください。
if(in_array('2324242', $_SESSION['product_ids'])
{//in this case 2324242 is the product ID you are looking for
//Require_once ('script');
//Or redirect to script.php
}