フロントエンドで追加された注文の管理者コメントを追加するために、カスタムテキスト領域を追加したいと思います。そして、ajaxから注文テーブルに保存したいと思います。カスタムモジュールを作成しようとしていますが、成功しませんでした。
管理用テンプレートファイルを変更して追加しました(緊急コメント、緊急フィールドです)が、ajaxを使用して保存できませんでした。
最後に、コアファイルの変更からそれを行いました。
以下のコードを info.phtml ファイルに追加しました
<form id="cus_com" >
<div class="entry-edit">
<div class="entry-edit-head">
<h4 class="icon-head head-payment-method"><?php echo Mage::helper('sales')->__('Urgent Comment') ?></h4>
</div>
<fieldset>
<span class="field-row">
<label class="normal" for="urgent_comment"><?php echo Mage::helper('sales')->__('User Note') ?></label>
<textarea name="urgentComment" rows="3" cols="5" style="height:6em; width:99%;" id="urgentComment" >
<?php echo $_order->getUserNote(); ?>
</textarea>
</span>
<input name="isUrgent" type="checkbox" id="isUrgent" value="<?php if ($_order->getUserNote() == 1) {
echo 'yes';
} ?>" />
<label> <?php echo Mage::helper('sales')->__('Is Urgent') ?></label><br />
<button type="button" align="right" title="<?php echo "Submit Comment" ?>" id="bb" onClick="handlerFunction()" ><span><span><?php echo "Submit Comment" ?></span></span></button>
<script type="text/javascript">
function handlerFunction(){
var params = {};
//var shipping = $('shipping-fields').serialize(true);
// params['shipping'] = Object.toJSON(shipping);
params['order_id'] = <?php echo $_order->getId() ?>;
params['urgentComment'] = $('urgentComment').value;
var n = $('isUrgent').value;
if(n=='yes'){
params['isUrgent']=1;
}else{
params['isUrgent']=0;
}
new Ajax.Request('<?php echo Mage::getModel('adminhtml/url')->getUrl('orderedit/order/saveCommnet') ?>', {
method: 'post',
parameters: params,
onSuccess: function(transport) {
$('urgentComment').innerHTML = transport.responseText;
}
});
}
</script>
</fieldset>
</div>
</form>
これを追加して、コントローラーを注文しました public function saveCommnetAction(){
$order = $this->_initOrder();
$comment= $this->getRequest()->getPost('urgentComment');
$is_urgent = $this->getRequest()->getPost('isUrgent');
$order->setUserNote($comment)
->setIsUrgent($is_urgent);
$order->save();
}
その働き。ありがとう
これはテンプレートファイルです
app / design / adminhtml / default / default / template / sales / order / view / tab / info.phtml
これはコントローラーです。Mage_Adminhtml_Controller_Actionを拡張する別のカスタムモジュールコントローラークラスです。
app / code / local / mynamespace / OrderEdit / controllers / OrderController.php