Перейти к содержанию
Официальный форум поддержки Simpla

Заказ Обратного Звонка


Рекомендуемые сообщения

Делаем импорт таблицы s_callbacks.sql в БД (во вложении).

 

Далее в файле api/Simpla.php примерно на 40 строке вставляем:

 

'callbacks'	 => 'Callbacks',

Далее в файле IndexView.php после:

 

function fetch()
	{

Вставить:

 

if($this->request->method('post') && $this->request->post('callback')) {
            $callback = new stdClass();
            $callback->phone        = $this->request->post('phone');
            $callback->name         = $this->request->post('name');
            $this->design->assign('callname',  $callback->name);
            $this->design->assign('callemail', $callback->phone);
            $this->design->assign('call_sent', true);
            $callback_id = $this->callbacks->add_callback($callback);
            // Отправляем email
            $this->callbacks->email_callback_admin($callback_id);
        }

Далее в api/Managers.php в  public $permissions_list = array добавить:

 

'callbacks'

 

 

Далее в файлах simpla/design/html в файлах comments.tpl и feedbacks.tpl примерно на 6 строке добавить:

 

	{if in_array('callbacks', $manager->permissions)}<li><a href="index.php?module=CallbacksAdmin">Заказ обратного звонка</a></li>{/if}

В шаблоне выводим: 

<a class="callback_link" href="#callback_form">Обратный звонок</a>

{include file='callback.tpl'}

и добавляем СSS 

/*Обратный звонок*/
.callback_title {
	display: block;
    border-bottom: solid 3px #106ac2;
    font-weight: 500;
    font-size: 18px;
    
    margin: 0 0 15px;
    color: #000;
	text-align: center;
	padding: 0 0 5px;
}
#callback_form .button {
	display: block;
    margin: 0 auto 3px;
    padding: 9px 25px 8px;
    font-weight: 500;
    font-size: 15px;
}

Вроде ничего не забыл. 

callback.zip

Ссылка на сообщение
Поделиться на другие сайты

 

забыли указать в файле simpla/IndexAdmin.php после:

'FeedbackAdmin'       => 'feedbacks',

добавить

'CallbacksAdmin'      => 'callbacks',

Да, спасибо. Пропустил

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

 $(...).fancybox is not a function

Скорее всего - не подключен фансибокс, или подключен неправильно

работает только на главной странице почему-то 

Изменено пользователем Furu
Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...

Чет вообще не хочет...вроде сделал по инструкции..где-то еще что-то упустили?

 

ну вы не понимаете что никто вам не скажет что не так без ссылки на сайт или без ошибки?. это всеровно что по фото делать диагностику автомобиля.

Ссылка на сообщение
Поделиться на другие сайты
  • 8 месяцев спустя...

Если сделать заказ обратный звонок и перезагрузить страницу отправка формы повторится(( Может ошибка где нибудь в коде?

Изменено пользователем star
Ссылка на сообщение
Поделиться на другие сайты

Если сделать заказ обратный звонок и перезагрузить страницу отправка формы повторится(( Может ошибка где нибудь в коде?

 

нет, это уже на стороне браузера,

Ссылка на сообщение
Поделиться на другие сайты

Это стандартная работа браузера. Если не нравится, то можно в обработчике формы добавить перезагрузку страницы подобно тому, как сделано в ProductView.php при приеме комментария.

Ссылка на сообщение
Поделиться на другие сайты

Это стандартная работа браузера. Если не нравится, то можно в обработчике формы добавить перезагрузку страницы подобно тому, как сделано в ProductView.php при приеме комментария.

В ProductView.php перезагрузка страницы как я понимаю здесь.

				// Приберем сохраненную капчу, иначе можно отключить загрузку рисунков и постить старую
				unset($_SESSION['captcha_code']);
				header('location: '.$_SERVER['REQUEST_URI'].'#comment_'.$comment_id);

и чем это поможет если не секрет

 

 

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

В ProductView.php перезагрузка страницы как я понимаю здесь.

				// Приберем сохраненную капчу, иначе можно отключить загрузку рисунков и постить старую
				unset($_SESSION['captcha_code']);
				header('location: '.$_SERVER['REQUEST_URI'].'#comment_'.$comment_id);

и чем это поможет если не секрет

 

 

 

Тем же, чем помогает не посылать повторно комментарий при перезагрузке страницы товара.

Ссылка на сообщение
Поделиться на другие сайты
  • 10 месяцев спустя...

Не хватает в /simpla/ajax/update_object.php после

    case 'comment':
    	if($simpla->managers->access('comments'))
        $result = $simpla->comments->update_comment($id, $values);
        break;

Добавить чтоб одобрить через текст на заявки

    case 'callback':
        if($simpla->managers->access('callbacks'))
        $result = $simpla->callbacks->update_callback($id, $values);
        break;
Изменено пользователем Ivan923
Ссылка на сообщение
Поделиться на другие сайты

Еще есть ошибка в CallbacksAdmin.php

44 строка        

$this->design->assign('pages_count', ceil($callbacks_count/$filter['limit']));

48 строка

$this->design->assign('callbacks_count', $callbacks_count);
Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

 

Еще есть ошибка в CallbacksAdmin.php

44 строка        

$this->design->assign('pages_count', ceil($callbacks_count/$filter['limit']));

48 строка

$this->design->assign('callbacks_count', $callbacks_count);

 

А какая тут ошибка? Сравнивал с feedback из другого файла, вроде, всё норм.

Ссылка на сообщение
Поделиться на другие сайты

Поставил по инструкции. После нажатия кнопки отправить телефон не появляется в базе данных даже. Где я сделал что-то не так?

Ссылка на сообщение
Поделиться на другие сайты

Поставил по инструкции. После нажатия кнопки отправить телефон не появляется в базе данных даже. Где я сделал что-то не так?

 

о каких базах идет речь? прям в Mysql базу не записывается?

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...