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

Подскажите, пожалуйста, можно ли сделать, чтобы эта форма открывалась на странице каждого товара? или можно сделать, чтобы обратная связь была в самой верхней строке на главной странице, рядом с "регистрация", "вход", моя корзина" ? Могу ли я это сделать самомтоятельно и как?

4 ответа

    • 0
      В основном файле плагина

      $view = wa()->getView();
      $content = $view->fetch($this->path.'/templates/callback.html');
      return $content;

      в папке templetes
      файл callback.html
      <form name="callback" id="callback_form" method="get" action="/callback/append/">
      {$wa->csrf()}
      <div id="callback_inputs">
      <p><input type="text" name="name" placeholder="Имя" id="callback_name" /></p>
      <p><input type="text" name="phone" placeholder="Телефон" id="callback_phone" /></p>
      </div>
      <p><input type="submit" name="submit" value="Заказать звонок" id="callback_submit" title="Заказать звонок" /></p>
      </form>
      <script type="text/javascript">
      $("#callback_form").submit(function () {
      var name = $("#callback_name").val();
      var phone = $("#callback_phone").val();
      var f = $(this);

      $.post(f.attr('action'), f.serialize(), function (response) {
      }, "json")
      return false;
      });
      </script>

      файл lib/config/routing.php
      <?php
      return array(
      'callback/append/' => array(
      'plugin' => 'callback',
      'module' => 'frontend',
      'action' => 'append',
      ),
      );
      ?>

      файл lib/actions/shopCallbackPluginFrontendAppend.controller.php
      <?php
      class shopCallbackPluginFrontendAppendController extends waJsonController {
      public function execute()
      {
      $model = new shopCallbackPluginModel();
      if (waRequest::method() == 'post') {
      $name = waRequest::post('name');
      $phone = waRequest::post('phone');
      if (!empty($name) && !empty($phone)) {
      $res = $model->insert(array(
      'name' => $name,
      'phone' => $phone,
      'status' => 0,
      'date' => date('Y-m-d H:i:s')
      ));
      if($res) { $this->response['message'] = "Отправлено";}
      else $this->response['message'] = "Не отправлено";
      }
      }
      }
      }
      • 0
        lib/config/plugin.php

        <?php

        return array(
        'name' => 'Обратный звонок',
        'description' => 'Обратный звонок',
        'version' => '1.0',
        'img' => 'img/plugin.png',
        'handlers' => array(
        'frontend_header' => 'frontendCallback',
        'routing' => 'shopCallbackPluginFrontendAppendController',
        ),
        'frontend' => true,
        );

        ?>
  • 0
    Anita 9 июня 2014 06:12 #
    а где все это искать, куда вставлять, можно поподробнее? У меня сейчас этот плагин отображается, как просто страница, наряду с "о магазине", " как сделать заказ" и тд.

Эта тема в архиве. Добавление комментариев к ней отключено.