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

Тема в разделе "Opencart", создана пользователем ivanvolgu, 18 июн 2014.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Статус темы:
Закрыта.
Модераторы: ZiX
  1. ivanvolgu

    ivanvolgu Постоялец

    Регистр.:
    22 июл 2013
    Сообщения:
    116
    Симпатии:
    79
    Решил сделать кнопку звонка с админки, а точнее со страницы заказа.
    Тестировал со скайпом, но как я понимаю может и сработать и с 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 то удалять лишний знак +

    Или может есть другие варианты как это обойти.
     
    Последнее редактирование: 18 июн 2014
  2. rusalka_tany

    rusalka_tany Постоялец

    Регистр.:
    3 апр 2014
    Сообщения:
    91
    Симпатии:
    23
  3. ivanvolgu

    ivanvolgu Постоялец

    Регистр.:
    22 июл 2013
    Сообщения:
    116
    Симпатии:
    79
    Зачем мне модуль заказать обратный звонок??? Вы наверное не так поняли суть задачи. Этот модуль который вы мне предложили реализован для того, что бы клиент ввел свое имя и телефон и администратору сайта пришло письмо в админку Opencarta или на почту. А я добиваюсь совсем иного результата. Что при поступлении заказа в админку опенкарта, администратор сайта мог зайдя в заявку клиента нажать на кнопку позвонить клиенту (прям с админки). Используя при этом телефонию от скайпа или программу для IP телефонии.
    Код уже есть и его можно встроить в админку. Только нужно решить как привести номер к виду +7 так как клиент может оставить номер через "8"-ку или через+7. А Код который я указал в первом посте не работает если вызов набирать через 8 -ку, а работает в скайпе только через +7
    Тут вспомнил что как вариант конечно, можно сделать маску для телефона в виде + 7 *** *** ** ** (это легко реализовывется в SIMPLE и JV Быстрый заказ). Тогда можно и этот + убрать.
    Но хотелось бы узнать как можно такое реализовать без неё.
     
  4. rusalka_tany

    rusalka_tany Постоялец

    Регистр.:
    3 апр 2014
    Сообщения:
    91
    Симпатии:
    23
    Ок. Сорь, как всегда через строку читаю.
     
  5. snooper

    snooper Постоялец

    Регистр.:
    2 июн 2014
    Сообщения:
    67
    Симпатии:
    19
    Тебе надо выправить форму добавления номера, добавить регулярку туда, что б на этом етапе сразу добавлялся правильный номер.
    А для уже существующих зайти в БД и в нужном поле, сделать апдейт с регуляркой на изменение к твоему +7, если там, что то другое.
    Ну и второй вариант. Если номера не хочешь имезнять, тогда прописать проверку с регуляркой на выводе это уже в скрипте который генерирует переменную $telephone
    Ну в любом случае, делать проверку и лучше первый вариант, что б не было потом лишних запросов к бд, а перестроить один раз и радоватся оптимальной работе
     
    ivanvolgu нравится это.
  6. mrrgreen

    mrrgreen Постоялец

    Регистр.:
    25 мар 2014
    Сообщения:
    54
    Симпатии:
    3
    А плагин такой есть? Или инструкция, ак сделать?
    пс: по ссылке плаг там для OcStore 1.5.x / Opencart а он подойдет для последней версии?
     
  7. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    400
    Симпатии:
    130
    1 вариант как сказал snooper или можешь делать сразу проверку средствами php на первые 2 или 1 символ
    PHP:
    <?PHP
        
    echo substr($telephone,0,2);
    ?>
    это выведет первые 2 символа, ну соответственно можешь их сравнить равны они 8 или +7 и затем подставлять
    Вот описание функции substr
     
  8. snooper

    snooper Постоялец

    Регистр.:
    2 июн 2014
    Сообщения:
    67
    Симпатии:
    19
    ему лучше всего первый, да и всем первый вариант. Ибо лишние запросы к бд никому не надо, особенно при растущей посещаемости, лишняя нагрузка, потом фиксить будет. А так раз сделал и забыл, за этот узел.
     
  9. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    400
    Симпатии:
    130
    Никаких запросов в БД тут нет, просто проверка средствами php и тем более что это все для админки
     
  10. snooper

    snooper Постоялец

    Регистр.:
    2 июн 2014
    Сообщения:
    67
    Симпатии:
    19
    как нет? у него телефоны пишутся в бд и потом от туда выводятся
    И есть разница когда мы спрашиваем телефон и сразу его выводим
    И когда мы спрашиваем телефон и ещё гоняем в пам"яти обрабатывая его

    вот в чом суть, убрать второй ваирант, и оставить только прямой вывод нормальных данных, повторно их не обрабатывая
     
Статус темы:
Закрыта.