Произвольные ссылки в url button: различия между версиями
Нет описания правки |
Нет описания правки |
||
| Строка 18: | Строка 18: | ||
# В навыке на кнопку размещаем ссылку на нужный https url (со всеми нужными параметрами); | # В навыке на кнопку размещаем ссылку на нужный https url (со всеми нужными параметрами); | ||
# По этому url расположим простейший скрипт с редиректом; | # По этому url расположим простейший скрипт с редиректом; | ||
# При нажатии на кнопку произойдёт нужный нам редирект в навигатор. | # При нажатии на кнопку произойдёт нужный нам '''редирект в навигатор'''. | ||
Пример: | Пример: | ||
| Строка 26: | Строка 26: | ||
Готово! | Готово! | ||
Таким же способом можно реализовать '''кликабельные номера телефонов''': | |||
* Выводим в навыке номер телефона (пусть будет 81234567890) | |||
* При клике производится запрос на сервер (например, такой: https://myskill.ru/callto/81234567890) | |||
* сервер возвращает редирект tel:81234567890 | |||
[[Category:Яндекс.Диалоги]] | [[Category:Яндекс.Диалоги]] | ||
Версия от 02:56, 28 мая 2020
Задача
Далеко не все ссылки можно повесить на кнопки в навыках - например, такие ссылки, как yandexnavi://build_route_on_map?.
При попытке разместить подобную ссылку напрямую в кнопке сгенерируется ошибка. Как быть?
Решение
Поможет маленький лайфхак в три шага:
- В навыке на кнопку размещаем ссылку на нужный https url (со всеми нужными параметрами);
- По этому url расположим простейший скрипт с редиректом;
- При нажатии на кнопку произойдёт нужный нам редирект в навигатор.
Пример:
header('Location: yandexnavi://build_route_on_map?lat_to=' . $_GET['lat_to'] . '&lon_to=' . $_GET['lon_to']);
Готово!
Таким же способом можно реализовать кликабельные номера телефонов:
- Выводим в навыке номер телефона (пусть будет 81234567890)
- При клике производится запрос на сервер (например, такой: https://myskill.ru/callto/81234567890)
- сервер возвращает редирект tel:81234567890