app/etc/code/local/MyCompany/Ajax/etc/config.xml内
<config>
<modules>
<MyCompany_Ajax>
<version>1.0.0</version>
</MyCompany_Ajax>
</modules>
<global>
<frontend>
<routers>
<mycompanyajax>
<use>standard</use>
<args>
<module>MyCompany_Ajax</module>
<frontName>mycompanyajax</frontName>
</args>
</mycompanyajax>
</routers>
</frontend>
</global>
</config>
あなたがコントローラにAjaxのリクエストを送信し、そこからイベントを送出することができます
#app/code/local/MyCompany/Ajax/controllers/AjaxController.php
<?php
class MyCompany_Ajax_AjaxController extends Mage_Core_Controller_Front_Action
{
public function paymentAction()
{
$paymentMethodStatus = $this->getRequest()->getParam('is_active', false);
//The $args variable may differ based on what values you are expecting in your observer.
$args = array ('is_active', $paymentMethodStatus);
Mage::dispatchEvent('payment_method_is_active', $args);
}
}
あなたにテンプレートファイル:
$("#paymentCheckBox").live("click", function(){
var isChecked = $(this).is(":checked");
$.ajax({
type: "POST",
url: mycompanyajax/ajax/payment,
data: { 'is_active' : isChecked},
success: function(data) {
//Handle if you return something
},
error: function() {
alert('Something went wrong');
},
complete: function() {
alert('Its done');
}
});
});
をhttp://stackoverflow.com/questions/6017558/checkbox-checked -or-unchecked-with-jquery-and-mysql –
Ok。しかし、私はどのようなPHPイベントをディスパッチするためにアヤックスと言うのですか? –
あなたは 'Mage :: dispatchEvent( 'payment_method_is_active' ...')というコントローラー(AJAX経由で呼び出される)に何かを置くことができませんか?私はマゼンタを知らないが、ちょっとグーグル –