Здравствуйте.
--
Ситуация такова, что я искал способ сделать телефон на сайте кликабельным. То есть, не просто ссылка, а вызов функции
tel:
Очень полезно для мобильности, когда клацаешь на телефоне по такому номеру пальцем, происходит набор номера телефона. То есть не надо копировать, вставлять, перепечатывать с браузера, а просто нажал и позвонил. Так вот, в Yii2 есть решение с электронной почтой:
<?= Html::mailto('admin@example.com') ?>
получаем:
<a href="mailto:admin@example.com">admin@example.com</a>
Искал решение в интернете, но попадалось лишь решение с
<?=Html::a();?>
А мне надо так ввёл:
<?=Html::phone('+7 (999) 00-00-000', ['class' => 'phone']);?>
И вывелось:
<a class="phone" href="tel:+7 (999) 00-00-000">+7 (999) 00-00-000</a>
Я короче психанул, и полез в коробку, нашёл класс наследования BaseHtml.php
И написал вот такой код:
...
public static function phone($phone, $options = [])
{
$options['href'] = 'tel:'.$phone;
if (!isset($options['class'])) {
$options['class'] = '';
}
return static::tag('a', $phone, $options);
}
...
Работает! НО, я подумал о такой проблеме. Что если проект обновят через composer?
Вся наработка смоется, как рисунок на песке морской волной, и не будет ничего работать, да и программисты не опытные будут материться и искать, "где же эта загадочная функция?".
Отсюда вопрос, может я изобрёл велосипед, и такая функция есть, а я не заметил? Помогите решить этот вопрос, такой код гораздо удобнее, чем писать телефон по два раза. Очень нужная и полезная вещь! Может разработчики внедрят такое?