2016-06-23 3 views
1

Я пишу модуль для выполнения простой Ajax вызова в Magento, но он дает ошибку 404 в консолиMagento + Ajax 404 Ошибка

config.xml файл

<?xml version="1.0"?> 
<config> 
    <modules> 
    <Custom_Personalize> 
     <version>0.1.0</version> 
    </Custom_Personalize> 
    </modules> 

     <frontend> 
      <routers> 
       <personalize> 
        <use>standard</use> 
        <args> 
         <module>Custom_Personalize</module> 
         <frontName>personalize</frontName> 
        </args> 
       </personalize> 
      </routers> 
      <layout> 
       <updates> 
        <personalize> 
         <file>personalize.xml</file> 
        </personalize> 
       </updates> 
      </layout> 
    </frontend> 
     <admin> 
     <routers> 
      <personalize> 
      <use>admin</use> 
      <args> 
       <module>Custom_Personalize</module> 
       <frontName>admin_personalize</frontName> 
      </args> 
      </personalize> 
     </routers> 
     </admin> 
     <layout> 
      <updates> 
      <personalize> 
       <file>personalize.xml</file> 
      </personalize> 
      </updates> 
     </layout> 
     </adminhtml> 
    </config> 

файла Контроллер

<?php 

    class Custom_Personalize_AjaxController extends Mage_Core_Controller_Front_Action 
    { 
     public function indexAction() { 
      $this->loadLayout(); 
      $this->renderLayout(); 
     } 
    } 

personalize.xml является

 <?xml version="1.0"?> 
     <layout> 
    <personalize_ajax_index> 
    <block type="personalize/personalize" name="root" output="toHtml" template="personalize/ajax.phtml" /> 
    </personalize_ajax_index> 
</layout> 

И в ajax.phtml код

test 

и JQuery является

<script type="text/javascript"> 
    jQuery(document).on('change', '.shapes', function() { 
     console.log("hii"); 
     jQuery.ajax({ 
      url: "<?php echo $this->getUrl() ?>"+'personalize/ajax/index', 
      type: "POST", 
      data: "size=123456", 
      success: function(data) { 
       console.log(data); 
       return false; 
      } 
     }); 
    }); 
</script> 

Пожалуйста, укажите, что мне не хватает?

Благодаря

ответ

2

вы упомянули Блок персонализировать/персонализировать, вам нужно определить, что блок в блоке/Personalize.php также блок должен быть определен в config.xml

вы можете используйте core/template, если у вас нет какого-либо блока, определенного в вашем Удлинителе, как указано ниже:

<?xml version="1.0"?> 
<layout> 
    <personalize_ajax_index> 
     <block type="core/template" name="root" output="toHtml" template="personalize/ajax.phtml" /> 
    </personalize_ajax_index> 
</layout>