2017-01-11 5 views
0

Ich möchte ein Popup mit etwas wie "Danke für die Anmeldung" anstelle der grünen Benachrichtigung zeigen.Magento, zeigen Sie ein Popup "Danke" -Nachricht an subscribe Newsletter

Mitteilung Image:

enter image description here

Also, ich weiß nicht, wie die Nachricht in der Sitzung zu bekommen, oder die SubscribeController außer Kraft setzen einige Parameter zu senden, indem Sie erfahren, dass der Benutzer abonniert hat . Wie kann ich das machen?

Antwort

0

Sie müssen also den SubscriberController.php Controller von Newsletter Modul überschreiben. Der Controller hat newAction(), der zum Hinzufügen der Details des Teilnehmers verwendet wird.

Erstellen Sie Ihr neues Modul und in config.xml des Moduls -

<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <frontend> 
    <routers> 
     <newsletter> 
      <args> 
       <modules> 
        <knewsletter before="Mage_Newsletter">MyNamespace_MyModlulename</knewsletter> 
       </modules> 
      </args> 
     </newsletter> 
    </routers> 
    </frontend> 

Dann SubscriberController.php in Ihrem Controller Ordner hinzufügen -

<?php 
require_once Mage::getModuleDir('controllers', "Mage_Newsletter").DS."SubscriberController.php"; 
class MyNamespace_MyModlulename_SubscriberController extends Mage_Newsletter_SubscriberController{ 

    public function newAction() { 
     // can copy the content of original newAction and modify accordingly. 
    } 
}  
0

Es ist eine einfache Möglichkeit oben zu tun.

Wenn Sie die Haupt-Template-Dateien von Ihrem Thema öffnen dh 1column, 2column-links usw. werden Sie Code feststellen, wie:

<?php echo $this->getChildHtml('global_notices') ?> 

Zuerst diese kommentieren müssen, dies wird die Nachricht entfernen aktuell die zeigt, Seiten.

Gehen Sie jetzt zu footer.phtml von Ihnen Website und fügen Sie so etwas wie:

<?php if($this->getMessagesBlock()->getMessageCollection()->count()): ?> 
    <div id="global_messages_popup" style="display: none"> 
     <a href="javascript:void(0)" id="global_messages_close" style="display: none" title="<?php echo $this->__('Hide messages') ?>">&times;</a> 
     <?php echo $this->getMessagesBlock()->getGroupedHtml(); ?> 
    </div> 
<?php $this->getMessagesBlock()->getMessageCollection()->clear(); ?> 
<script> 
// Here you can write js code to open above div in a popup or something else. 
</script> 
<?php endif; ?> 

Above so nicht getestet bitte selbst überprüfen.

Verwandte Themen