Ссылка "позвонить " в пункте меню

InstantCMS 2.X

Как сделать, чтобы ссылка пункта меню отображалась без https://site.ru/

#1 27 июля 2021 в 12:20

Подскажите пожалуйста. Можно сделать так, чтобы ссылка на сайте была не site.ru/tel:+71234567890, а просто tel:+71234567890 ?

то есть, чтобы выводился, например,  такой код <a href=«tel:+71234567890»>+7 (123) 4567890</a>

 

#2 27 июля 2021 в 12:59

вот,

по сути вы вроде правильно пример привели. 

#3 27 июля 2021 в 13:57

Понятно, что можно справа от меню сделать колонку и хтмл блок с этим кодом)

А просто редактируя стандартное меню так ни как ни сделать?

там обязательно  дописывается  site.ru/, а нужно без этого

#4 27 июля 2021 в 14:15

А просто редактируя стандартное меню так ни как ни сделать?

ditali

Можно в стандартном меню, сделать ссылку на сайт, вот так и делайте. На демо сайте инстанта посмотрите.

Хотя нет, так не получается. 

#5 27 июля 2021 в 14:35

 fincheck, Вы видимо не поняли, о чем спрашивает человек.

 ditali, сделать можно, но придется писать костыль. Так, простой вставкой номера в меню не получится вывести ссылку вида tel:

#6 27 июля 2021 в 17:43

Как вариант, с помощью js. Отлавливать ссылку с номером и перенаправлять куда надо. Или наверное можно в .htaccess прописать перенаправление. Но не уверен.

#7 27 июля 2021 в 21:07

Как вариант, с помощью js. Отлавливать ссылку с номером и перенаправлять куда надо. Или наверное можно в .htaccess прописать перенаправление. Но не уверен.

Lora

Тоже не уверен, но лучше уж на PHP. Добавить пару строк в шаблон меню. На примере шаблона modern. После этой строки вставить:

  1. <?php
  2. if (stristr($item['url'], 'tel:+') !== false) {
  3. $item['url'] = stristr($item['url'], 'tel:+');
  4. }
  5. ?>

Должно работать (это если вдруг не окажется, что спрашивая о ссылках на телефон, г-н ditali имел ввиду и ссылки на телегу, скайп, вайбер...). Тогда надо будет добавить условий и для них

#8 28 июля 2021 в 00:26

но лучше уж на PHP.

Олег Васильевич я

Согласен. Лучше. Но файл станет хакнутым. Если на php, то наверное лучше хук небольшой написать, что бы файл не править.Что то типа этого. Не проверял.

  1. <?php
  2. class onContentMenuBeforeList extends cmsAction {
  3. public function run($menus){
  4. foreach($menus as $menu){
  5. // А тут ваше условие
  6. }
  7. return $menus;
  8. }
  9. }
  10. ?>
#9 28 июля 2021 в 13:54

Согласен. Лучше. Но файл станет хакнутым. Если на php, то наверное лучше хук небольшой написать, что бы файл не править.Что то типа этого. Не проверял.

Lora

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

Если таки надумаете попробовать, напишите, пожалуйста, как решили.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.