Magento, покажите всплывающее окно «спасибо» сообщение при подписке на рассылку

Я хочу показать всплывающее окно с чем-то вроде «Спасибо за подписку» вместо зеленого уведомления.

Изображение уведомления:

введите описание изображения здесь

Итак, я не знаю, как получить сообщение в сеансе или переопределить SubscribeController для отправки какого-либо параметра, узнав, что пользователь подписался. Как я могу это сделать?

0

Решение

Так что вам нужно переопределить SubscriberController.php контролер Newsletter модуль. Контроллер имеет newAction() который используется для добавления данных подписчика.

Создайте свой новый модуль и в config.xml вашего модуля —

<?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>

Затем добавьте SubscriberController.php в папке вашего контроллера —

<?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

Другие решения

Есть простой способ сделать выше.

Если вы откроете основные файлы шаблона из вашей темы, т.е. 1column, 2column-left и т. Д., Вы заметите код, подобный следующему:

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

Сначала вам нужно прокомментировать это, это удалит сообщение, отображаемое в данный момент на страницах.

Теперь перейдите в footer.phtml вашего сайта и добавьте что-то вроде:

<?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; ?>

Выше не проверено, поэтому, пожалуйста, проверьте это сами.

0

По вопросам рекламы [email protected]