CMS Development

hannalofving
Contributor

Sort blog listing based on custom module field

SOLVE

We use a blog to present and list our company events. I would like the listing to be sorted according to the date of the event. The date is saved in a custom module text field. 

Is it possible to access the text field from the sort function in the foor loop?

 

Like this: {% for content in contents|sort(False, False, widgets.event_date.body.value) %}

0 Upvotes
1 Accepted solution
Stephanie-OG
Solution
Key Advisor

Sort blog listing based on custom module field

SOLVE

Hi there!

 

I am not sure if others on the community might have other thoughts but I don't believe you can sort blog listings by a custom module text field. The markup loops through "contents" which are the posts: 

 

 

{% for content in contents %}
    <div class="post-item">
        Post item markup that renders with each iteration.              
    </div>
{% endfor %}       

 

 

And there are set blog variables.

 

Perhaps you could do something such as set topics with the date ('Event Date 2018-09-21', 'Event Date 2018-10-22') and then filter by topics with "Event Date" and sort alphabetically?

 

{% for content in contents %}
   {% for topic in content.topic_list %}
     {% if "Event Date" in topic.name %}
        {% topic.name|sort(False, False, 'name') %}     

           {# Add your post markup here #}

     {% endif %}
   {% endfor %}
{% endfor %}

 

(I haven't tested this code, I'm just combining looping through a topic and sort).

 

I've noticed @Jsum is great at this type of blog HubL wizardry so he might have a better idea 🙂

 

Another more common way of listing events in HubSpot would be to use HubDB. Here is a tutorial on how to do so.

 

I hope that helps!

 


Stephanie O'Gay GarciaHubSpot Design / Development / Automation

Website | Contact

 

If this helped, please mark it as the solution to your question, thanks!

View solution in original post

0 Upvotes
2 Replies 2
Stephanie-OG
Solution
Key Advisor

Sort blog listing based on custom module field

SOLVE

Hi there!

 

I am not sure if others on the community might have other thoughts but I don't believe you can sort blog listings by a custom module text field. The markup loops through "contents" which are the posts: 

 

 

{% for content in contents %}
    <div class="post-item">
        Post item markup that renders with each iteration.              
    </div>
{% endfor %}       

 

 

And there are set blog variables.

 

Perhaps you could do something such as set topics with the date ('Event Date 2018-09-21', 'Event Date 2018-10-22') and then filter by topics with "Event Date" and sort alphabetically?

 

{% for content in contents %}
   {% for topic in content.topic_list %}
     {% if "Event Date" in topic.name %}
        {% topic.name|sort(False, False, 'name') %}     

           {# Add your post markup here #}

     {% endif %}
   {% endfor %}
{% endfor %}

 

(I haven't tested this code, I'm just combining looping through a topic and sort).

 

I've noticed @Jsum is great at this type of blog HubL wizardry so he might have a better idea 🙂

 

Another more common way of listing events in HubSpot would be to use HubDB. Here is a tutorial on how to do so.

 

I hope that helps!

 


Stephanie O'Gay GarciaHubSpot Design / Development / Automation

Website | Contact

 

If this helped, please mark it as the solution to your question, thanks!

0 Upvotes
hannalofving
Contributor

Sort blog listing based on custom module field

SOLVE

This HubDB solution is very helpful. It feels a bit unnecessary to have to add the events in more than one place, but seems like a pretty quick and straight forward solution.

 

Thank you! 

0 Upvotes