1

チェックアウト後の成功ページ(success.phtml)で、特定の製品IDを購入した場合にのみスクリプトを実行したいと思います。これは可能ですか?

Magento1.4.2を使用しています。

4

3 に答える 3

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
}
于 2012-11-19T15:01:17.863 に答える
1

この種のロジックは、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"; }

?>

于 2012-11-19T15:04:41.460 に答える
0

さて、あなたはカート変数を見つける必要があるだけです。正確な変数はわかりませんが、$ _ 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

}
于 2012-11-19T14:38:00.920 に答える