Перейти к содержанию

Произвольные ссылки в url button: различия между версиями

Материал из Wiki yaboard
Содержание
Нет описания правки
Нет описания правки
Строка 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?.

При попытке разместить подобную ссылку напрямую в кнопке сгенерируется ошибка. Как быть?

Решение

Поможет маленький лайфхак в три шага:

  1. В навыке на кнопку размещаем ссылку на нужный https url (со всеми нужными параметрами);
  2. По этому url расположим простейший скрипт с редиректом;
  3. При нажатии на кнопку произойдёт нужный нам редирект в навигатор.

Пример:

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