2012-09-20 74 views
0

我需要點擊一個按鈕並更改訂單狀態。到目前爲止,我已經做到了這一點:Onclick Magento PHP

<?php $_order = $this->getOrder() ?> 
<div class="buttons-set"> 
<p class="btn"><a href="<?php $this->saveState($_order);?>">Button</a></p> 
</div> 

在我的PHP我有:

public function saveState($order) 
{ 
    return $order->setState(Mage_Sales_Model_Order::STATE_NEW, true); 
} 

的問題是,每次PHTML加載它執行saveState和功能,改變目前的訂單狀態,每次的時間,不知道爲什麼。我需要在點擊按鈕的位置執行saveState函數。請幫助我這個,我真的卡住了! 謝謝

回答

0

<a href="<?php $this->saveState($_order);?>">Button</a>未鏈接到saveState()方法。它只是立即執行saveState()方法,並鏈接到返回值saveState(),在這種情況下,我猜測這只是sales/order對象的字符串表示形式。

你需要做的是create a Controller其作用可以鏈接到,通過類似

<a href="<?php 
    echo Mage::getUrl('YourModule/YourController/YourAction') 
?>">Button</a> 

請注意,以及具有在一個簡單的鏈接的「行動」通常被認爲是不好的做法:它是不是RESTful