2015-11-04 41 views
-3

我試圖在產品頁面中進行pincode驗證。它的工作,但提交後pincode重定向到新頁面,警報也進入新頁面。如何在不重定向的情況下在同一頁面顯示成功或錯誤警報

我需要在不顯示在同一個產品頁面的警報重定向

幫助我..

代碼:

應用程序/代碼/本地/普爾納/郵編/控制器/ indexcontroller.php

class Purna_Zipcode_IndexController extends Mage_Core_Controller_Front_Action 
{ 
    public function zipcodeAction() { 
     $data = $this->getRequest()->getParams(); 
     $session = Mage::getSingleton('core/session'); 
     $zipcode = $data['zipcode']; 
     $collection = Mage::getModel('zipcode/zipcode') 
         ->getCollection() 
         ->addFilter('zipcode', $zipcode, '=') 
         ->getData(); 

     if(count($collection) > 0){ 
      echo "<script>alert(not available);</script>"; 
     } else { 
      echo "<script>alert(available);</script>"; 
     } 
    } 
} 

應用程序/設計/前端/鹼/默認/模板/郵編/索引/ zipcode.phtml

<form action="<?php echo Mage::getUrl('zipcode/index/zipcode') ?>" method="post" id="zipcode-submit"> 
    <input type="text" name="zipcode" class="input-text" id="zipcode"> 
    <button type="submit" class="button">Submit</button> 
</form> 

應用程序/設計/前端/鹼/默認/佈局/ zipcode.xml

<?xml version="1.0"?> 
    <layout version="0.1.0"> 
     <zipcode_index_index> 
      <reference name="root"> 
      <action method="setTemplate"> 
      <template>page/1column.phtml</template></action> 
      </reference> 
      <reference name="content"> 
       <block type="zipcode/index" name="zipcode_index" template="zipcode/zipcode.phtml"/> 
      </reference> 
     </zipcode_index_index> 
    </layout> 

應用程序/設計/前端/默認/主題/模板/目錄/產品/ view.phtml

<?php 
    echo $this->getLayout() 
       -> CreateBlock('core/template') 
       ->setTemplate('zipcode/index/zipcode.phtml') 
       ->toHtml() 
?> 
+0

你的'''''''''''''zipcodeAction'''應該返回''''true'''或'''''''''而不是回顯html代碼。您的表單應通過AJAX提交以避免重定向;如果AJAX調用返回''''false''',則可能會顯示錯誤消息而不重定向(在AJAX調用''''success''''事件中使用''''return false''') – Radu

回答

0

從你的代碼中你的xml將在zipcode_index_index操作中加載表單。你能告訴mw你如何使用產品頁面上的表格。

但要實現你的解決方案,您必須使用Magento的錯誤信息

$data = $this->getRequest()->getParams(); 
     $session = Mage::getSingleton('core/session'); 
     $zipcode = $data['zipcode']; 
     $collection = Mage::getModel('zipcode/zipcode') 
         ->getCollection() 
         ->addFilter('zipcode', $zipcode, '=') 
         ->getData(); 

     if(count($collection) > 0){ 
      Mage::getSingleton('core/session')->addError($this->__('not available')); 
     } else { 
    Mage::getSingleton('core/session')->addSuccess($this->__('available')); 
     } 

    $this->_redirectReferer(); 

請檢查代碼也將解決您的重定向問題。 $ this - > _ redirectReferer(); //這個wiil會重定向到一個引用者

+0

我已經在我的系統上測試了它,它工作的很好。如果您有任何問題,請告訴我。 –

+0

謝謝你,先生。它現在工作的é.. – user3608270

+0

歡迎請接受答案並將其標記爲正確的 –

相關問題