Если доверить юзерам сами добавлять объекты в instantMaps (что и должно быть), то при внесении контактных данных корявыми ручками мы увидим разнообразие стилей. Например телефоны будут попадать в базу так: +7(123) 456 78 90; 8(123)-456-78-90; 7-1-23-456 78-90 и далее везде… с множеством комбинаций скобок, пробелов, тире, плюсов, 8 и 7 а так же и полное отсутствие кода страны в любом формате. Чтобы привести всё это к однообразию не влезая в базу, а параллельно и сделать кликабельными ссылки телефона, skype, Email и URL пришлось чуть допилить файл \templates\default\controllers\places\contacts.tpl.php
ПРЕДУПРЕЖДЕНИЕ!: код делался чайником с использованием топора
На всякий случай приложу исправленный файл
ДЕМО
ПРЕДУПРЕЖДЕНИЕ!: код делался чайником с использованием топора
<?php if ($contacts){ ?> <?php $newphone = $contacts['phone']; ?> <?php $newphone = str_replace(array(")","("," ","-","-","+"),'',$newphone); // Убираем скобки, пробелы, тире, плюсы ?> <?php $firster = $newphone[0]; ?> <?php if($firster == '8' or '7' ) { // Если в оставшейся строке первый символ 8 или 7 - убираем его ?> <?php } ?> <?php } ?> <ul class="maps-contacts-list"> <li class="phone"><a href="tel:+7<?php echo $newphone; ?>"><?php echo $newphone; ?></a></li> <?php } ?> <li class="skype"><a href="skype:<?php html($contacts['skype']); ?>?chat"><?php html($contacts['skype']); ?></a></li> <?php } ?> <?php $href = $contacts['url']; ?> <li class="url"><a href="<?php echo $href; ?>" target="_blank"><?php html($contacts['url']); ?></a></li> <?php } ?> <?php $href = 'mailto:'.$contacts['email']; ?> <li class="email"><a href="<?php echo $href; ?>" target="_blank"><?php html($contacts['email']); ?></a></li> <?php } ?> </ul> <?php } ?>
ДЕМО
Реклама #
eoleg 9 лет назад #
конечно это необходимо но по демо я так понял - вы удаляете первую цифру а это неправильно.
Вообще формат тел. номера следующий:
код страны + код города + номер телефона
При этом код страны для РОССИИ 7 если звонок совершается из за рубежа.
Внутри РОССИИ вместо кода страны набирается 8
Поэтому и 7 и 8 правильно но лучше приводить к международному формату Е.164
Вы удалили код страны
Олег с клещами 9 лет назад #
Олег с клещами 9 лет назад #
Def 9 лет назад #
stealthdebuger 9 лет назад #
Def 9 лет назад #
Колян 9 лет назад #
Владимир 9 лет назад #
Колян 9 лет назад #