CMS Development

dbarbara
Mitwirkender/Mitwirkende

Display a featured image as a background image

lösung

Am trying to get a featured image to show as a background image, and need to figure out the HubL to call a featured image from inside some HTML.

 

Thanks to @Jsum for part of the answer here

 

This is what I have so far, but not sure how to write  'background: url '  so it calls the image. 

 

 

{% for feature_item in featured_topic %}

{% image_src "image_src" %}

<div class="featured-post">
<div class="span6"> 

{% if feature_item.post_list_summary_featured_image %}

<span style='background: url ( {% image_src "{{ feature_item.post_list_summary_featured_image }}" %} ) center center no-repeat; background-size: cover;' class="hs-featured-image featured-post-image-1">

</span>
{% endif %}
</div>

 

0 Upvotes
1 Akzeptierte Lösung
Jsum
Lösung
Autorität

Display a featured image as a background image

lösung

You are using a span tag which is an inline element (like text). It can't be styled like block elements. Do you have "display: block;" assigned to the span tag in your css? if not you can try that or use a div element instead of a span tag which is probably better syntax.

 

Also, regardless of element used, a height and a width need to be set other wise nothing is keeping it from being 0x0.

 

hopefully ones of these helps. Also quotations within the url value of the background attribute are not required. Using them shouldn't have anything to do with your issue, and your code doesn't appear to have any errors. The below just has the quotation marks adjusted. 

{% if feature_item.post_list_summary_featured_image %}				
<span style="background: url({{ feature_item.post_list_summary_featured_image }}) center center no-repeat; background-size: cover;"class="hs-featured-image featured-post-image-1">					
</span>
{% endif %}

Lösung in ursprünglichem Beitrag anzeigen

0 Upvotes
9 Antworten
martin3walker
Teilnehmer/-in

Display a featured image as a background image

lösung

I want to use the featured image of my latest posts for as the background for a hero banner for my blog. I put a hubl module over the listing template.

 

HubL ModuleHubL Module

 

And, I'm trying to use the following code within that module to display the featured image from the lastest post.

{% for post in posts %}
    {% if loop.index = 1 %}
    
        <div class=blog-hero style="background:url('{{ content.featured_image }}') top center no-repeat; background-size: cover;"></div>
        
    {% endif %}
{% endfor %}

Any idea where I'm going wrong?

 

0 Upvotes
Jsum
Autorität

Display a featured image as a background image

lösung

Your looping for post in posts but your targeting content.featured_image. It shouldbe post.featured_image

Anonymous
Nicht anwendbar

Display a featured image as a background image

lösung

Can someone post an update on how to do this under the new CMS theme structure?  Set feature Image as Blog Post header/banner background image.

0 Upvotes
JessicaH
HubSpot-Alumnus/Alumna
HubSpot-Alumnus/Alumna

Display a featured image as a background image

lösung

Hi @Anonymous,

 

Thanks for reaching out.

@Jsum would you be able to assist with this?

 

Thanks!

Jess 


Wusstest du, dass es auch eine DACH-Community gibt?
Nimm an regionalen Unterhaltungen teil, in dem du deine Spracheinstellungen änderst !


Did you know that the Community is available in other languages?
Join regional conversations by changing your language settings !


0 Upvotes
martin3walker
Teilnehmer/-in

Display a featured image as a background image

lösung

Thanks!

0 Upvotes
dbarbara
Mitwirkender/Mitwirkende

Display a featured image as a background image

lösung

Some progress! Have gotten the image URL to show up when looking at the source in dev tools, but it's not displaying.

 

{% if feature_item.post_list_summary_featured_image %}				
<span style='background: url("{{ feature_item.post_list_summary_featured_image }}") center center no-repeat; background-size: cover;' class="hs-featured-image featured-post-image-1">					
</span>
{% endif %}

 

 

0 Upvotes
Jsum
Lösung
Autorität

Display a featured image as a background image

lösung

You are using a span tag which is an inline element (like text). It can't be styled like block elements. Do you have "display: block;" assigned to the span tag in your css? if not you can try that or use a div element instead of a span tag which is probably better syntax.

 

Also, regardless of element used, a height and a width need to be set other wise nothing is keeping it from being 0x0.

 

hopefully ones of these helps. Also quotations within the url value of the background attribute are not required. Using them shouldn't have anything to do with your issue, and your code doesn't appear to have any errors. The below just has the quotation marks adjusted. 

{% if feature_item.post_list_summary_featured_image %}				
<span style="background: url({{ feature_item.post_list_summary_featured_image }}) center center no-repeat; background-size: cover;"class="hs-featured-image featured-post-image-1">					
</span>
{% endif %}
0 Upvotes
dbarbara
Mitwirkender/Mitwirkende

Display a featured image as a background image

lösung

Thanks for the input on the code.

 

I did realize that the image wasn't displaying because there was no content inside <span></span>  When I added "display: block" as well as a min-height and "width: 100%" everything worked fine. 

 

What's built now is a nice card layout with an image on the left that adjusts based on the viewport width (vs. just reducing both width and height). It can be seen here: http://cloudburst.astadia.com/blog

 

 

 

Jsum
Autorität

Display a featured image as a background image

lösung

@dbarbara that looks great!

0 Upvotes