CMS Development

kpkreative
Participante

Show module only on specific page with 'if statement'

resolver

I have a theme that has been html/hubl  coded.

 

We have a custom module that needs to specifically be placed in the base.html file.

As all templates use base.html as a partial, the custom module placed here, is displaying on all pages, whereas i wish to only have it on the homepage

I could in theory create a clone of base.html for the other pages and remove the module, though i was wondering if there was an if statement available to wrap the module in, to say if it is 'home.html' or 'page-name' display content.

Thanks in advance.
Kev

1 Solução aceita
erod
Solução
Colaborador(a)

Show module only on specific page with 'if statement'

resolver

Hi @kpkreative , 

 

One solution is to use an IF statement to hide it on all pages except the homepage (see below). You may have to change variable. To be honest though, it might just be easier to go with your solution and just clone it. Homepages tend to change the most so having it on its own template might be best. 

 

 

{% if not page.html %}
  <style>
    .module_class {
      display: none;
    }
  </style>
{% endif %}

 

 

Exibir solução no post original

4 Respostas 4
erod
Solução
Colaborador(a)

Show module only on specific page with 'if statement'

resolver

Hi @kpkreative , 

 

One solution is to use an IF statement to hide it on all pages except the homepage (see below). You may have to change variable. To be honest though, it might just be easier to go with your solution and just clone it. Homepages tend to change the most so having it on its own template might be best. 

 

 

{% if not page.html %}
  <style>
    .module_class {
      display: none;
    }
  </style>
{% endif %}

 

 

kpkreative
Participante

Show module only on specific page with 'if statement'

resolver

Thank you so much for this suggestion, i really appreciate it 🙂

0 Avaliação positiva
dennisedson
Equipe de Produto da HubSpot
Equipe de Produto da HubSpot

Show module only on specific page with 'if statement'

resolver

@kpkreative 

I think you are on the right track.  You can find a list of variables you can target for your if statement here

In your module, you could also wrap it in a boolean and have it default to false so you will have it available elsewhere if you want it.

What do you think @erod ?

kpkreative
Participante

Show module only on specific page with 'if statement'

resolver

Thanks for this Dennis, i really appreciate your feedback 🙂

0 Avaliação positiva