Вспывающая надпись вместо переадресации, как?

Тема в разделе "Общие вопросы", создана пользователем gear03, 29 янв 2016.

  1. gear03

    gear03 Новичок

    Сообщения:
    9
    Симпатии:
    1
    Новичок в opencart, да и js, php
    Есть форма обратной связи, после отправки сообщения происходит переадресация на другую страницу:
    $this->response->redirect($this->url->link('information/contact/success'));
    Как сделать, чтобы вместо переадресации появлялась всплывающая надпись?
     
  2. Ален

    Ален Эксперт

    Сообщения:
    2.052
    Симпатии:
    630
    Для начала надо получить ответ через ajax о результате отправки.
    Как получить и отправить? Смотрите примеры в product.tpl
     
  3. gear03

    gear03 Новичок

    Сообщения:
    9
    Симпатии:
    1
    Возникли трудности, все никак не могу реализовать ajax отправку email'а с модального окна, прошу помощи.
    Шаблон не стадартный - RGEN, в нем есть возможность из модуля добавить на страницу продукта html код, с его помощью я разместил код модального окна:
    HTML:
    <!-- Button trigger modal -->
    <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
    Быстрый заказ
    </button>
    
    <!-- Modal -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
      <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Закрыть"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title" id="myModalLabel">Форма быстрого заказа</h4>
          </div>
          <div class="modal-body">
          <form class="form-horizontal">    
      
            <div class="form-group">        
            <input class="form-control" type="text" name="quotename" id="qname" />
        </div>
          
            <div class="form-group">        
            <input class="form-control" type="text" name="email" id="qemail"/>
        </div>
    
        <div class="form-group">        
            <textarea class="form-control" name="details" id="qdetails"></textarea>
        </div>
            </form>
    
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
            <button type="button" class="btn btn-primary" id="btnquickorder">"<?php echo $button_enquire; ?>"</button>
          </div>
        </div>
      </div>
    </div>

    В product.tpl добавил скрипт (по аналогии с присутствующими на странице), обработчик нажатия кнопки "отправить" модального окна:
    HTML:
    <script type="text/javascript">
    $("#btnquickorder").click(function(){
             $.ajax({
             url: 'index.php?route=product/product/bystrijzakaz&product_id=<?php echo $product_id; ?>',
            type: "POST",
            dataType: 'json',
            data: $('form.form-horizontal').serialize(),
             success: function(){
                     new PNotify({ title: 'Regular Success', text: 'That thing that you were trying to do worked!', type: 'success'});
            $("#myModal").modal('hide');
             },
    error: function(){
    alert("failure");
    }
           });
    });
    </script>

    Теперь в файле контроллера product.php создаю функцию public function bystrijzakaz() {
    которая должна отправлять email, но здесь моя фантазия заканчивается и уровень знаний php тоже, попытки делать по аналогии с примерами результата не дали.
    Нужно, чтобы отправлялось письмо мне на почту с именем/телефоно/сообщением от пользователя, валидацию ввода думаю смогу прикрутить потом. Жду вашей помощи и советов. При необходимости могу предоставить доступ по фтп/админку.