Re: Add SMS:// Chat Support URL in Main Header menu

Solved

Add SMS:// Chat Support URL in Main Header menu

CaelanB
Excursionist
28 1 7

it seems while TEL:// works, I would like to have a SMS:// URL work in my Shopify header menu. I purchased an 888 toll free number for text messaging support (using services like SimpleTexting, etc.) since I'm running this business solo, and answer queries through text messages much more easily.

Is there a way to edit code to "allow" SMS:// url format to be allowed in the header menu? I'm comfortable with editing code, and have theme code backups already.

My theme is the Impulse theme.

Screen Shot 2021-09-07 at 6.38.16 AM.pngScreen Shot 2021-09-07 at 6.38.28 AM.png

Accepted Solution (1)
r8r
Shopify Partner
2555 327 936

This is an accepted solution.

Alright – I added the tel:-link myself, so I could actually test the code. That means, that the SMS-link is in your nav twice now – the first leads to the contact page, the second is the tel/sms-link now. It'll also show on your prod theme, as the navigation is a shared asset!

That being said – in the dev-theme I created, tel links in the secondary menu will be converted to sms-links both on desktop and mobile:

Screenshot 2021-09-10 at 09.05.21.jpg

 

Screenshot 2021-09-10 at 09.08.06.jpg

Does this solve your problem?
Mario

★ Ja, man kann mich buchen; schreib mir eine Nachricht!
★ Hinterlass gerne ein Like und markiere meine Antwort gegebenenfalls als Lösung. Ich freue ich mich immer über eine Spende an die (Kinder)krebshilfe oder eine kleine Aufmerksamkeit.
Studio Mitte

View solution in original post

Replies 15 (15)

r8r
Shopify Partner
2555 327 936

@CaelanB – there's no way to get this inserted in the dashbard, if Shopify doesn't modify the filters.

However, in your theme you can manipulate a "placeholder" link to become your sms link; either through JS or – which I would prefer – using the replace-filter, where the link-list gets rendered. If you use the link with the tel://-protocol (and you don't use any other tel://-links), then something like this would work in your liquid code:

{% for link in linklists.header-sidebar.links %}
  <a href="{{ link.url | replace: 'tel://', 'sms://' }}">{{ link.title }}</a>
{% endfor %}

Does this help?
Mario

★ Ja, man kann mich buchen; schreib mir eine Nachricht!
★ Hinterlass gerne ein Like und markiere meine Antwort gegebenenfalls als Lösung. Ich freue ich mich immer über eine Spende an die (Kinder)krebshilfe oder eine kleine Aufmerksamkeit.
Studio Mitte
CaelanB
Excursionist
28 1 7

Hello there!

Correct, at this time (2 years?) I have no intention of using the number for telephone calls; calling it will hang up after a message anyway. I would like to try this; your help is quite appreciated.

This code would be inserted in theme.liquid?

r8r
Shopify Partner
2555 327 936

@CaelanB - what theme are you using?

★ Ja, man kann mich buchen; schreib mir eine Nachricht!
★ Hinterlass gerne ein Like und markiere meine Antwort gegebenenfalls als Lösung. Ich freue ich mich immer über eine Spende an die (Kinder)krebshilfe oder eine kleine Aufmerksamkeit.
Studio Mitte
CaelanB
Excursionist
28 1 7

Theme is Impulse.

r8r
Shopify Partner
2555 327 936

Alright. I don’t have a copy of it, but if there’s a /sections/header.liquid file, that would be a good place to start looking. Is there a loop, where 

linklists.header-sidebar.links

is mentioned? If so, can you please share that block of the source code? 

Mario

★ Ja, man kann mich buchen; schreib mir eine Nachricht!
★ Hinterlass gerne ein Like und markiere meine Antwort gegebenenfalls als Lösung. Ich freue ich mich immer über eine Spende an die (Kinder)krebshilfe oder eine kleine Aufmerksamkeit.
Studio Mitte
CaelanB
Excursionist
28 1 7

I'm getting a result for "linklist" but not "linklists" specifically, but the immediate code after that appears to be theme stuff related to the blocks of the footer. And below that, I saw some header-sidebar stuff too:

.site-footer__linklist{
  margin:0
}

.site-footer__linklist a{
    display:inline-block;
    padding:4px 0;
  }

.footer__newsletter{
  position:relative;
  display:inline-block;
  max-width:300px;
  width:100%;
}

.footer__newsletter-input{
  padding:10px 45px 10px 0;
  background-color:{{ settings.color_footer | default: "#111" }};
  background-color:var(--colorFooter);
  color:{{ settings.color_footer_text | default: "#fff" }};
  color:var(--colorFooterText);
  max-width:300px;
  width:100%;
  border:0;
  border-radius:0;
  border-bottom:2px solid;
  border-bottom-color:{{ settings.color_footer_text | default: "#fff" }};
  border-bottom-color:var(--colorFooterText)
}

.footer__newsletter-input:focus{
    border:0;
    border-bottom:2px solid;
    border-bottom-color:{{ settings.color_footer_text | default: "#fff" }};
    border-bottom-color:var(--colorFooterText);
  }

.footer__newsletter-input::-webkit-input-placeholder{
    color:{{ settings.color_footer_text | default: "#fff" }};
    color:var(--colorFooterText);
    opacity:1;
  }

.footer__newsletter-input:-moz-placeholder{
    color:{{ settings.color_footer_text | default: "#fff" }};
    color:var(--colorFooterText);
    opacity:1;
  }

.footer__newsletter-input::-moz-placeholder{
    color:{{ settings.color_footer_text | default: "#fff" }};
    color:var(--colorFooterText);
    opacity:1;
  }

.footer__newsletter-input:-ms-input-placeholder{
    color:{{ settings.color_footer_text | default: "#fff" }};
    color:var(--colorFooterText);
    opacity:1;
  }

.footer__newsletter-input::-ms-input-placeholder{
    color:{{ settings.color_footer_text | default: "#fff" }};
    color:var(--colorFooterText);
    opacity:1;
  }

.footer__newsletter-input--active{
  padding-right:80px;
}

.footer__newsletter-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  right:0;
  color:{{ settings.color_footer_text | default: "#fff" }};
  color:var(--colorFooterText);
  padding:0
}

.footer__newsletter-btn .icon{
    width:26px;
    height:24px;
  }

.footer__newsletter-input--active+.footer__newsletter-btn .icon{
      display:none;
    }

.footer__newsletter-input--active+.footer__newsletter-btn .footer__newsletter-btn-label{
      display:block;
    }

.footer__newsletter-btn-label{
  display:none;
  font-size:calc(var(--typeBaseSize)*0.85);
}

.footer__logo{
  margin:15px 0
}

@media only screen and (min-width:769px){

.footer__logo{
    margin:0 0 20px
}
  }

.footer__logo a{
    display:block;
  }

.footer__logo img{
    display:inline-block;
    transform:translateZ(0);
    max-height:100%;
  }

.footer__social{
  margin:0
}

form+.footer__social{
    margin-top:30px
}

.footer__social li{
    display:inline-block;
    margin:0 15px 15px 0;
  }

.footer__social a{
    display:block;
  }

.footer__social .icon{
    width:22px;
    height:22px
  }

@media only screen and (min-width:769px){

.footer__social .icon{
      width:24px;
      height:24px
  }
    }

.footer__social .icon.icon--wide{
      width:40px;
    }

@media only screen and (max-width:768px){

.footer__collapsible{
    padding:0 0 15px 0
}
  }

 

.collapsible-content--sidebar{
  visibility:hidden;
  overflow:hidden;
  -webkit-backface-visibility:hidden;
          backface-visibility:hidden;
  opacity:0;
  height:0
}

@media only screen and (min-width:769px){
    .collapsible-content--sidebar.is-open{
      overflow:visible;
      overflow:initial;
      visibility:visible;
      opacity:1;
      height:auto;
    }
  }

 

.collection-sidebar{
  padding-right:10px;
  margin-bottom:20px;
}

@media only screen and (min-width:769px){
  .grid__item--sidebar{
    position:-webkit-sticky;
    position:sticky;
    top:10px;
    max-height:90vh;
    overflow-y:auto;
  }
}

.collection-sidebar__group{
  border-top:1px solid;
  border-top-color:{{ settings.color_drawer_border | default: "#343535" }};
  border-top-color:var(--colorDrawerBorder);
  padding-top:5px;
  margin-top:5px;
  margin-bottom:5px;
  overflow:hidden
}

.collection-sidebar__group:first-child{
    margin-top:0
  }

.drawer .collection-sidebar__group:first-child{
      border-top:0
  }

@media only screen and (min-width:769px){
    .collection-sidebar__group .collapsible-content__inner{
      padding-bottom:5px;
    }
  }

.collection-sidebar__group .tag-list{
    margin-bottom:0;
  }

.collection-sidebar div:first-of-type .collection-sidebar__group{
  border-top:0;
  padding-top:0;
}

 

This is a premium theme, so there's a lot of extra stuff like .megamenu, I notice. It's my first time diving into this file, but here's the most relevant stuff I've found. Should I snippet more for you?

 

r8r
Shopify Partner
2555 327 936

… that’s just CSS. We need a liquid template. If you message me your url, I can respond with a collaborator request and take a look myself. 

★ Ja, man kann mich buchen; schreib mir eine Nachricht!
★ Hinterlass gerne ein Like und markiere meine Antwort gegebenenfalls als Lösung. Ich freue ich mich immer über eine Spende an die (Kinder)krebshilfe oder eine kleine Aufmerksamkeit.
Studio Mitte
CaelanB
Excursionist
28 1 7
r8r
Shopify Partner
2555 327 936

@CaelanB - thanks! I’ll give it a look and send you the request in a minute!

★ Ja, man kann mich buchen; schreib mir eine Nachricht!
★ Hinterlass gerne ein Like und markiere meine Antwort gegebenenfalls als Lösung. Ich freue ich mich immer über eine Spende an die (Kinder)krebshilfe oder eine kleine Aufmerksamkeit.
Studio Mitte
CaelanB
Excursionist
28 1 7

There you go. I bet it's something so small in desktop view that's causing the issue. On mobile it appears ok. 

r8r
Shopify Partner
2555 327 936

This is an accepted solution.

Alright – I added the tel:-link myself, so I could actually test the code. That means, that the SMS-link is in your nav twice now – the first leads to the contact page, the second is the tel/sms-link now. It'll also show on your prod theme, as the navigation is a shared asset!

That being said – in the dev-theme I created, tel links in the secondary menu will be converted to sms-links both on desktop and mobile:

Screenshot 2021-09-10 at 09.05.21.jpg

 

Screenshot 2021-09-10 at 09.08.06.jpg

Does this solve your problem?
Mario

★ Ja, man kann mich buchen; schreib mir eine Nachricht!
★ Hinterlass gerne ein Like und markiere meine Antwort gegebenenfalls als Lösung. Ich freue ich mich immer über eine Spende an die (Kinder)krebshilfe oder eine kleine Aufmerksamkeit.
Studio Mitte
CaelanB
Excursionist
28 1 7

Yes it does, I see it now, and just tested it after I woke up here (11:04 AM over here in east USA). You've been wonderful! I'll send you one more message, and I appreciate the help. Coding is definitely not my forte.

r8r
Shopify Partner
2555 327 936

@CaelanB - you’re welcome … I’m glad I could help and get you sortee out!

Mario

 

★ Ja, man kann mich buchen; schreib mir eine Nachricht!
★ Hinterlass gerne ein Like und markiere meine Antwort gegebenenfalls als Lösung. Ich freue ich mich immer über eine Spende an die (Kinder)krebshilfe oder eine kleine Aufmerksamkeit.
Studio Mitte
Menny
Shopify Partner
15 0 3

Hey there, I'm facing same issue with sense/Dawn themes. I tried using the replace filter at the header.liquid file but it didn't workd, any idea where the links file is or how to solve this on these themes?

 

Also is there a different between 'tel:' to 'tel//:' I'm asking because i do use on my website the 'tel:' URL, and if this are the same is there a way to replace a different URL so i can have 'SMS:' and 'tel:' working on my site?

 

 

r8r
Shopify Partner
2555 327 936

@Menny is this problem solved yet?

Mario

★ Ja, man kann mich buchen; schreib mir eine Nachricht!
★ Hinterlass gerne ein Like und markiere meine Antwort gegebenenfalls als Lösung. Ich freue ich mich immer über eine Spende an die (Kinder)krebshilfe oder eine kleine Aufmerksamkeit.
Studio Mitte