Вход • Регистрация

помогите составить popup

  • 22 октября 2014 г.
  • Здравствуйте дорогие форумчане и реальные гуру, у меня такой вопрос в shop.view.buy_form_cat.php есть строки:

    Код

    <div class="shop_waitlist">
    '.$this->diafan->_('Сообщить когда появиться на e-mail').'
    <input type="text" name="mail" value="'.$this->diafan->_user->mail.'" class="inptext">
    <span class="button_wrap"><input type="button" class="button" value="'.$this->diafan->_('Ок', false).'" action="wait"></span>
    <div class="errors error_waitlist" style="display:none"></div>
    </div>';

    это форма появляется когда товара нет в наличии, вопрос такой: как вывести это сообщение в сплывающем окошке, только не окшке браузера а именно popup, побывал разными методами js но видимо не до конца понимаю логику движка, помогите разобраться, нужно что бы по анологичной кнопке вместо купить было "запросить" и открывалось окошко с формой отправки эмела.

    вот сама кнопка на основе которой я пытался сам пркирпить этот popup

    Код

    echo '<span class="button_wrap"><input type="button" class="button btn-cart" value="'.$this->diafan->_('Купить', false).'" action="buy"></span>';



    пытался сделать так:
    Код
    <span class="button_wrap"><input type="button" class="button btn-cart" value="'.$this->diafan->_('Сообщить когда появиться на e-mail').'" action="wait"></span>';


    но видимо action wait применяться только на отправку сомой формы, в общем помогите
    • 22 октября 2014 г.
    • Надо типа по кнопке человек кликаетна которой написано Сообщить когда появиться на e-mail и выходи окошко с вводом emaila и кнопки отправить?
      • 22 октября 2014 г.
      • Можно так

        Код

        JS

        <script>
        $(document).ready(function() {
        $(".shop_waitlist_btn").click(function(){
        $(".shop_waitlist").fadeIn("slow");
        return false;
        });
        $(".shop_waitlist_close").click(function(){
        $(".shop_waitlist").fadeOut("slow");
        return false;
        });
        });
        </script>


        Код

        HTML

        <a href="#" class="shop_waitlist_btn">Сообщить на e-mail</a>

        <div class="shop_waitlist">
        <div class="shop_waitlist_close">Закрыть</div>
        тут весь код формы
        </div>

        Код

        CSS

        .shop_waitlist {position:fixed; width:400px; background:#FFF; top:200px; left:50%; margin-left:-220px; padding:20px;}
        .shop_waitlist_close {text-align:right; font-size:11px;}
        • 23 октября 2014 г.
        • сделал так:
          Код
          if(! empty($waitlist))
          {

          echo '
          <script type="text/javascript" src="'.BASE_PATH.'modules/shop/shop.tovar.js"></script>
          <a href="#" type="button" class="shop_waitlist_btn">Сообщить на e-mail</a>

          <div class="shop_waitlist">
          <div class="shop_waitlist_close">Закрыть</div>
          <div class="shop_waitlist">
          '.$this->diafan->_('Сообщить когда появиться на e-mail').'
          <input type="text" name="mail" value="'.$this->diafan->_user->mail.'" class="inptext">
          <span class="button_wrap"><input type="button" class="button" value="'.$this->diafan->_('Ок', false).'" action="wait"></span>
          <div class="errors error_waitlist" style="display:none"></div>
          </div>
          </div>';

          }




          результат: окошко всегда присутствует на сайте, не вызывается по кнопке, а просто сразу весит в центре экрана и нету кнопки закрыть там тоже, что не так я сделал?
          • 23 октября 2014 г.
          • судя по всему косяк в двойном <div class="shop_waitlist"> , но моя форма была изночально такая :

            Код

            if(! empty($waitlist))
            {

            echo '
            <div class="shop_waitlist">
            '.$this->diafan->_('Сообщить когда появиться на e-mail').'
            <input type="text" name="mail" value="'.$this->diafan->_user->mail.'" class="inptext">
            <span class="button_wrap"><input type="button" class="button" value="'.$this->diafan->_('Ок', false).'" action="wait"></span>
            <div class="errors error_waitlist" style="display:none"></div>
            </div>';
            }


            и ориентируясь на ваши подсказки сделал, но получилось то, что получилось....
            • 23 октября 2014 г.
            • сделал так:
              Код

              if(! empty($waitlist))
              {

              echo '
              <script type="text/javascript" src="'.BASE_PATH.'modules/shop/shop.tovar.js"></script>
              <a href="#" type="button" class="shop_waitlist_btn">Сообщить на e-mail</a>

              <div class="shop_waitlist2">
              <div class="shop_waitlist_close">Закрыть</div>

              <div class="shop_waitlist">
              '.$this->diafan->_('Сообщить когда появиться на e-mail').'
              <input type="text" name="mail" value="'.$this->diafan->_user->mail.'" class="inptext">
              <span class="button_wrap"><input type="button" class="button" value="'.$this->diafan->_('Ок', false).'" action="wait"></span>
              <div class="errors error_waitlist" style="display:none"></div>
              </div>
              </div>';

              }


              в css и js соответственно заменил shop_waitlist на shop_waitlist2, результат: окошко также всегда появляется как заходишь в каталог, но зато теперь оно закрывается, как сделать что бы оно вызывалось именно по клику а не само всегда вылезало?
    • 22 октября 2014 г.
    • В модальном окне было бы правильнее. Popup браузеры будут блочить.
      • 23 октября 2014 г.
      • возможно но я уже не знал как назвать, и когда просил маленькое окошко, давали скрипт на открытие нового окошка браузера.
        • 23 октября 2014 г.
        • Может вам его в лайтбокс prettyphoto загнать?
          • 23 октября 2014 г.
          • можно поподробней? И желательно с примером.
            • 23 октября 2014 г.
            • 1 Делаем в css для <div class="shop_waitlist"> display:none
              2 Меняем view, чтобы каждому <div class="shop_waitlist"> присваивался уникальный id например равный id товара
              3 Добавляем во view вывод ссылки <a href="#уникальный_id" rel="prettyphoto">Текст сссылки</a>

              При нажатии на ссылку будет открываться div с соответствующем id в лайтбоксе prettyphoto

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум