Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

diii3

  • ***
  • 154
  • +6/-0
    • Просмотр профиля
Здравствуйте! Подскажите, пожалуйста, как сделать так чтобы при нажатии на кнопку "Купить" всплывала подсказка "Товар добавлен в корзину"?

*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
Меня так же интересует этот вопрос.
Роюсь второй день во всяких всплывающих подсказках на JS.
понравился первый вариант вот тут http://akquinet.github.com/jquery-toastmessage-plugin/demo/demo.html
но как совместить вызов
<a href="javascript:showSuccessToast();">
с тем что есть сейчас
<a	id="add_basket_{@id}"
class="button basket_list options_{$is_options} add0"
href="{$lang-prefix}/emarket/basket/put/element/{@id}/">
я не знаю:(
хотя может есть более простой вариант...

*

admin

  • *****
  • 2419
  • +172/-1
    • Просмотр профиля
если мы говорим об интернет магазине на xslt и у вас настроена работа корзины без перезагрузки страницы через подключение файла /js/site/__common.js, то удобнее любые действия которые должны происходить после добавления товара в корзину вставлять в файл /js/site/basket.js

в конец блока функции начинающегося и заканчивается выделенными стоками

if (e.summary.amount > 0) {
...
//ваш код, например
alert('ваш заказ добавлен');
}
      else {
         text = 'В корзине нет ни одного товара.';
         if (basket = jQuery('.basket')) {
            basket.text(text);
         }
      }
      jQuery('.basket_info_summary').text(text);

Конечно, вы можете вызвать тут более красивые подсказки подключив например http://dreamerslab.com/blog/en/jquery-blockui-alternative-with-jquery-msg-plugin/ или http://akquinet.github.com/jquery-toastmessage-plugin/demo/demo.html варианты

*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
в таком варианте если я нахожусь в корзине, и начинаю удалять какой либо товар, у меня тоже появляется "Ваш заказ добавлен"

*

admin

  • *****
  • 2419
  • +172/-1
    • Просмотр профиля
тогда лучше положить алерт в блок чуть выше чем то место, что я описывал в предыдущем сообщении


...
if (detect_options.amount) {
   var add_basket_button = jQuery('#add_basket_' + detect_options.id);
   if (add_basket_button[0].tagName.toUpperCase() == 'A') {
      add_basket_button.text(add_basket_button_text + ' (' + detect_options.amount + ')');
   }
   else add_basket_button.val(add_basket_button_text + ' (' + detect_options.amount + ')');

   if(jQuery(add_basket_button).length > 0) {
      // поставить алерт тут, место выбрано по принципу того/ что если на странице найдена кнопка "положить в корзину" с id = add_basket_[id] то товар не удаляли и не модифицировали
   }

}
...


*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
пока удалось поставить так и вроде как работает...
if (detect_options.amount) {
   var add_basket_button = jQuery('#add_basket_' + detect_options.id);
   if (add_basket_button[0].tagName.toUpperCase() == 'A') {
      add_basket_button.text(add_basket_button_text + ' (' + detect_options.amount + ')');
      $().toastmessage('showSuccessToast', "Товар добавлен в корзину");
   }
   else add_basket_button.val(add_basket_button_text + ' (' + detect_options.amount + ')');
         }

*

admin

  • *****
  • 2419
  • +172/-1
    • Просмотр профиля
да, работать будет, но если кнопка купить не ссылка и input, то не сработает