Перейти к содержимому


КБ + 2гис ошибка телефона


Сообщений в теме: 5

#1 marketolog

    Участник

  • Пользователи
  • PipPip
  • 11 сообщений
  • Пол:Мужчина

Отправлено 18 Июль 2014 - 10:51

Приветствую участников форума. Недавно подключили расширение 2гис к браузеру Chrome, он позволяет набирать номер в телефоне кликнув на него на странице браузера. При работе с КБ это оказалось крайне удобно. Возникла проблема:
Расширение 2гис редактирует номера телефонов и добавляет тэг <gisphone class="...> </gisphone>, при ширине поля 150 символов вся строка вытесняет номер контрагента из поля и просто вписывает данный тэг в поле телефона.

Было найдено решение: При редактировании поля телефон, если после редактирования добавляется текст "<gisphone class="" откатывать строку к предыдущему варианту.

Вот вычисление:
$mystring = $line['Телефон'];
$findme   = 'gisphone class=';
$pos = strpos($mystring, $findme);
if($pos !== false)
{
  $line['Телефон'] = $event['changed']['441']['old'];
}
Активируется "Изменение поля" - "Телефон"

На практике, после редактирования поля и добавления туда текста "gisphone class=..." ничего не происходит, не возвращает значение. В чем может быть проблема?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 18 Июль 2014 - 12:32

Ничего не понял, честно говоря. Так вам нужно удалять тэг или наоборот сохранять его? Ваше вычисление просто отменяет любое изменение в поле. Таким образом поле становится по сути нередактируемым.

#3 marketolog

    Участник

  • Пользователи
  • PipPip
  • 11 сообщений
  • Пол:Мужчина

Отправлено 18 Июль 2014 - 13:20

Примочка от 2гиса редактирует все найденные на странице телефоны в формат <gisphone class=>телефон</gisphone>.
КБ принимает это редактирование за изменение номера телефона и сохраняет этот временный на постоянку.

Если после редактирования номера телефона в поле появился текст "gisphone", то необходимо отменить эти изменения.

В моем вычислении используется проверка (как утверждают учебники по php):
$mystring = $line['Телефон']; - где ищем;
$findme   = 'gisphone class='; - что ищем;
$pos = strpos($mystring, $findme); - процедура поиска текста в строке;
if($pos !== false) - проверка обратного отрицания
{
  $line['Телефон'] = $event['changed']['441']['old']; - откат 
}
Получается, что если дубльгис не сделал пометки, то поле редактируется нормально. Если сделал, то возвращает значение.

Ответ на вопрос: Мне нужно не позволять КБ сохранять тэг 2гиса в карточку контрагента

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 18 Июль 2014 - 13:38

Ну и в чем проблема то в итоге, не пойму? Не происходит отката значения на старое что ли?

#5 marketolog

    Участник

  • Пользователи
  • PipPip
  • 11 сообщений
  • Пол:Мужчина

Отправлено 21 Июль 2014 - 12:21

Так, все перепроверил. Всегда откатывает, даже если другое значение.

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 21 Июль 2014 - 12:29

Странно, ваше условие вроде бы не должно всегда срабатывать. Тогда сам затрудняюсь сказать в чем дело. Тут только отладка кода поможет.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных