I follow this tutorial to use Ajax request in my button: http://www.atwix.com/magento/add-button-to-system-configuration/
But clicking on the button I get the error "Not Found 404" to url:
My button.phtml
location: /app/design/adminhtml/default/default/template/mateusvitali/system/config/button.phtml
<script type="text/javascript">
//<![CDATA[
function check() {
new Ajax.Request('<?php echo $this->getAjaxCheckUrl() ?>', {
method: 'get',
onSuccess: function(transport) {
alert('Sent notification.');
},
onFailure: function(transport) {
alert("Couldn't send a notification.");
}
});
}
//]]>
</script>
<?php echo $this->getButtonHtml() ?>
My Button.php
location: /app/code/local/MateusVitali/SigepWeb/Block/Adminhtml/System/Config/Form/Button.php
class MateusVitali_SigepWeb_Block_Adminhtml_System_Config_Form_Button extends Mage_Adminhtml_Block_System_Config_Form_Field
{
/*
* Set template
*/
protected function _construct()
{
parent::_construct();
$this->setTemplate('mateusvitali/system/config/button.phtml');
}
/**
* Return element html
*
* @param Varien_Data_Form_Element_Abstract $element
* @return string
*/
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
{
return $this->_toHtml();
}
/**
* Return ajax url for button
*
* @return string
*/
public function getAjaxCheckUrl()
{
return Mage::helper('adminhtml')->getUrl('adminhtml/adminhtml_mateusvitali/check');
}
/**
* Generate button html
*
* @return string
*/
public function getButtonHtml()
{
$button = $this
->getLayout()
->createBlock('adminhtml/widget_button')
->setData(
array(
'type' => 'button',
'id' => 'mateusvitali_update',
'label' => $this->helper('adminhtml')->__('Check'),
'onclick' => 'javascript:check(); return false;'
)
);
return $button->toHtml();
}
}
My MateusVitaliController.php
location: /app/code/local/MateusVitali/SigepWeb/controllers/Adminhtml/MateusVitaliController.php
class MateusVitali_SigepWeb_Adminhtml_MateusVitaliController extends Mage_Adminhtml_Controller_Action
{
/**
* Return some checking result
*
* @return void
*/
public function checkAction()
{
$successCode = 1;
Mage::app()->getResponse()->setBody($successCode);
}
}
getAjaxCheckUrl
method could be wrong. Please update your question.