2016-10-10 4 views
0

Я хочу создать всплывающее окно с сообщением, которое показало, после того, как пользователь, подписавшись на рассылкуMagento всплывающее бюллетень успех сообщение

«Ваша подписка была подтверждена [ОК]»

он должен быть в Javascript или JQuery, потому что я хочу, чтобы изменить его в Magento передней концевой области только

это похоже, как этот пост Magento newsletter succeess message in pop up, но это в конечном итоге не правильный ответ и мертвой ссылке

другая информация: My Magento ver. 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> 

ответ

0

Встроенная система уведомлений 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, мой инстинкт состоит в том, что достаточно простого оповещения. Это дает вам по умолчанию только кнопку «ok», но я сам не вижу необходимости в кнопке «отменить» после того, как действие уже завершено, если это не отменит подписку на бюллетень, я думаю.

Если это не так, не могли бы вы предоставить более подробную информацию о том, чего вы пытаетесь достичь, и почему важно использовать только js/jquery?

Уважение,

Том

+0

привет @tom спасибо за обмен вашу мысль в первую очередь я 'm вид newb этого magento и по той причине, почему важно использовать js/jquery, это просто потому, что я хочу быть веб-разработчиком на основе фальшивочного интерфейса. И если это простой код с предупреждением, вы можете его также опубликовать, а затем я может проверить это :) (и да, кнопка отмены будет отменять действие) –

0

Вы можете оставить на контроллер асинхронно (AJAX), но это не даст вам ничего значимого для проверки успеха с по умолчанию.

Что вам нужно будет сделать, это продлить бюллетень/абонент/новый (не обновлять файл ядра, любое обновление будет стереть ваши изменения из.)

Это может быть полезно: http://inchoo.net/dev-talk/how-to-extend-magento-core-controller/

В основном то, что вы хотите сделать, это создать новое действие контроллера, которое выполняет почти все, что есть у существующего контроллера, но вместо перенаправления при его выполнении оно должно эхо-данные для вашего интерфейса для анализа в ответе ajax. Кроме того, вы захотите удалить сообщения об успешном завершении сеанса, которые обычно добавляются. (Они появятся на следующей загрузке страницы.)

Так моделировать новый контроллер после того, как один из существующих:

приложение/код/​​ядро ​​/ Mage/Информационный бюллетень/контроллеры/SubscriberController.php

+0

thx для обмена вашим ответом. Насколько я знаю, что создание нового действия контроллера связано с бэкэндом? –

Смежные вопросы