Помощь Добавить кнопку "Позвонить" на телефон клиенту

Статус
В этой теме нельзя размещать новые ответы.

ivanvolgu

Постоялец
Регистрация
22 Июл 2013
Сообщения
116
Реакции
84
Решил сделать кнопку звонка с админки, а точнее со страницы заказа.
Тестировал со скайпом, но как я понимаю может и сработать и с sip телефонией (это нужно проверять).
Нашел как сделать такую кнопку:
в файле
admin / view / template / sale / order_info.tpl
после
<td><?php echo $telephone; ?></td>
дописываем
<td><a href="tel:+<?php echo $telephone; ?>" class="button">Позвонить</a></td>

Запускается скайп.
В код добавил знак + (если его не добавить то скайп запустится но номер не будет набираться)
Но если номер в админке записан как 8 *** *** ** **
То звонок будет совершаться на номер +8 *** *** ** ** - и это не правильно

А если в админке номер +7 *** *** ** ** то будет задваиваться знак +

Как написать правило что если начинается со знака "8" то подставлять вместо него 7
А если начинается с +7 то удалять лишний знак +

Или может есть другие варианты как это обойти.
 
Последнее редактирование:
Проще воспользоваться модулем Для просмотра ссылки Войди или Зарегистрируйся
Зачем мне модуль заказать обратный звонок??? Вы наверное не так поняли суть задачи. Этот модуль который вы мне предложили реализован для того, что бы клиент ввел свое имя и телефон и администратору сайта пришло письмо в админку Opencarta или на почту. А я добиваюсь совсем иного результата. Что при поступлении заказа в админку опенкарта, администратор сайта мог зайдя в заявку клиента нажать на кнопку позвонить клиенту (прям с админки). Используя при этом телефонию от скайпа или программу для IP телефонии.
Код уже есть и его можно встроить в админку. Только нужно решить как привести номер к виду +7 так как клиент может оставить номер через "8"-ку или через+7. А Код который я указал в первом посте не работает если вызов набирать через 8 -ку, а работает в скайпе только через +7
Тут вспомнил что как вариант конечно, можно сделать маску для телефона в виде + 7 *** *** ** ** (это легко реализовывется в SIMPLE и JV Быстрый заказ). Тогда можно и этот + убрать.
Но хотелось бы узнать как можно такое реализовать без неё.
 
Ок. Сорь, как всегда через строку читаю.
 
Тебе надо выправить форму добавления номера, добавить регулярку туда, что б на этом етапе сразу добавлялся правильный номер.
А для уже существующих зайти в БД и в нужном поле, сделать апдейт с регуляркой на изменение к твоему +7, если там, что то другое.
Ну и второй вариант. Если номера не хочешь имезнять, тогда прописать проверку с регуляркой на выводе это уже в скрипте который генерирует переменную $telephone
Ну в любом случае, делать проверку и лучше первый вариант, что б не было потом лишних запросов к бд, а перестроить один раз и радоватся оптимальной работе
 
А плагин такой есть? Или инструкция, ак сделать?
пс: по ссылке плаг там для OcStore 1.5.x / Opencart а он подойдет для последней версии?
 
1 вариант как сказал snooper или можешь делать сразу проверку средствами php на первые 2 или 1 символ
PHP:
<?PHP
    echo substr($telephone,0,2);
?>
это выведет первые 2 символа, ну соответственно можешь их сравнить равны они 8 или +7 и затем подставлять
Вот описание функции Для просмотра ссылки Войди или Зарегистрируйся
 
1 вариант как сказал snooper или можешь делать сразу проверку средствами php на первые 2 или 1 символ
PHP:
<?PHP
    echo substr($telephone,0,2);
?>
это выведет первые 2 символа, ну соответственно можешь их сравнить равны они 8 или +7 и затем подставлять
Вот описание функции Для просмотра ссылки Войди или Зарегистрируйся

ему лучше всего первый, да и всем первый вариант. Ибо лишние запросы к бд никому не надо, особенно при растущей посещаемости, лишняя нагрузка, потом фиксить будет. А так раз сделал и забыл, за этот узел.
 
ему лучше всего первый, да и всем первый вариант. Ибо лишние запросы к бд никому не надо, особенно при растущей посещаемости, лишняя нагрузка, потом фиксить будет. А так раз сделал и забыл, за этот узел.
Никаких запросов в БД тут нет, просто проверка средствами php и тем более что это все для админки
 
Никаких запросов в БД тут нет, просто проверка средствами php и тем более что это все для админки
как нет? у него телефоны пишутся в бд и потом от туда выводятся
И есть разница когда мы спрашиваем телефон и сразу его выводим
И когда мы спрашиваем телефон и ещё гоняем в пам"яти обрабатывая его

вот в чом суть, убрать второй ваирант, и оставить только прямой вывод нормальных данных, повторно их не обрабатывая
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху