簡體   English   中英

magento通訊成功消息彈出

[英]magento newsletter success message popup

我要創建一個彈出消息框,該框在用戶訂閱新聞通訊后顯示

“您的訂閱已被確認[確定]”

它必須在javascript或jquery中,因為我只想在magento前端區域中對其進行修改

它類似於彈出Magento新聞通訊成功消息的消息,但最終沒有正確答案和無效鏈接

其他信息:我的Magento版本。 1.14.1.0

我有一些代碼,並將其放在subscribe.phtml中,但它不起作用

<script type="text/javascript">
    var formdata = {'email': jQuery('input[name=email]').val()};
jQuery(document).ready(function() {

  jQuery('.btn-subs').click(function(){
    jQuery.ajax({
        method: "POST",
        url: "<?php echo Mage::getBaseUrl() ?>newsletter/subscriber/new/",
        data: formdata,
        datatype: 'json'
    })
    .success(function( data ) {
      alert( "Your Subscription has been confirmed" );
    })
    .error(function(data){
        alert(data);
        console.log(data);
    })
  });
});
</script>

Magento的內置通知系統非常完善,Inchoo對此進行了詳盡的解釋: http ://inchoo.net/magento/magento-frontend/utilizing-magento-notification-system/

我有點猜測這並不是您要查找的內容,因為您明確聲明必須使用javascript或jquery完成。 您是否意識到,magento控制器操作可能基本上停留在同一頁面上,但在訂閱某人到新聞稿頁面后添加了通知?

這篇文章( https://magento.stackexchange.com/questions/5063/reliable-way-to-redirect-to-last-page/5086 )幫助我實現了在沒有重定向到其他頁面的頁面上獲得通知,只是重新加載了同一頁面。

如果您真的堅持只使用js / jquery,我的直覺是簡單的警報就足夠了。 默認情況下,這僅給您一個“確定”按鈕,但是我自己看不到在動作完成后需要“取消”按鈕,除非我猜想這會撤消對新聞簡報的訂閱。

如果不是這種情況,您能否提供更多有關您要實現的目標以及僅使用js / jquery 為何重要的信息?

親切的問候,

湯姆

您可以異步發布到控制器(AJAX),但是默認情況下,它不會給您任何有意義的驗證成功的信息。

您需要做的是擴展新聞通訊/訂閱者/新的(不要更新核心文件,任何更新都將清除您的更改。)

這可能會有所幫助: http : //inchoo.net/dev-talk/how-to-extend-magento-core-controller/

基本上,您想要做的是創建一個新的控制器動作,該動作將執行現有控制器幾乎所有的工作,但是,完成后它應該回顯數據,以便前端解析在ajax響應中,而不是進行重定向。 另外,您將希望刪除通常添加的會話成功消息。 (它們會在下一頁加載時顯示。)

因此,在現有控制器的基礎上為新控制器建模:

應用程序/代碼/核心/法師/新聞通訊/控制器/SubscriberController.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM