CMS Development

kpkreative
Participant

Show module only on specific page with 'if statement'

SOLVE

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 Accepted solution
erod
Solution
Contributor

Show module only on specific page with 'if statement'

SOLVE

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 %}

 

 

View solution in original post

4 Replies 4
erod
Solution
Contributor

Show module only on specific page with 'if statement'

SOLVE

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
Participant

Show module only on specific page with 'if statement'

SOLVE

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

0 Upvotes
dennisedson
HubSpot Product Team
HubSpot Product Team

Show module only on specific page with 'if statement'

SOLVE

@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
Participant

Show module only on specific page with 'if statement'

SOLVE

Thanks for this Dennis, i really appreciate your feedback 🙂

0 Upvotes