приложение "обратная связь"
Подскажите, пожалуйста, можно ли сделать, чтобы эта форма открывалась на странице каждого товара? или можно сделать, чтобы обратная связь была в самой верхней строке на главной странице, рядом с "регистрация", "вход", моя корзина" ? Могу ли я это сделать самомтоятельно и как?
Эта тема в архиве. Добавление комментариев к ней отключено.
4 ответа
$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'] = "Не отправлено";
}
}
}
}
<?php
return array(
'name' => 'Обратный звонок',
'description' => 'Обратный звонок',
'version' => '1.0',
'img' => 'img/plugin.png',
'handlers' => array(
'frontend_header' => 'frontendCallback',
'routing' => 'shopCallbackPluginFrontendAppendController',
),
'frontend' => true,
);
?>