Hello,

For my blog archive pages, I like to use a pull-down where the selected 
month is selected. 

For that, I want to compare the selected year and month - which are in the 
url, for example /blog/archive/2015/12/ and passed as context variables 
into the template - and compare them with the year and month of all the 
months in the archive pull-down.

For me it gets difficult because the month from the url is converted using 
a dictionary.

See: https://github.com/stephenmcd/mezzanine/blob/master/mezzanine/blog/views.py
line 4.  from calendar import month_name
line 38.  month = month_name[int(month)]

My site is Dutch, but month_name gives me English names. In another 
multilingual site, the English version works fine, but the Dutch site does 
not. Compare:
https://www.roominreturn.nl/en/blog/archive/2015/7/ 
https://www.roominreturn.nl/nl/blog/archive/2015/7/ 

What would be a proper solution? 

For me, one solution would be if the blog views passed the selected month 
as an integer into the context. But maybe there are other solutions?

Currently, I am using in my template:
                              <div id="archive">
                        {% with year as selected_year %}
                        {% with month as selected_month %}
                        {# YEAR: {{ selected_year }} MONTH: {{ 
selected_month }} for debugging #}
                        {% block blog_months %}
                            {% blog_months as months %}
                            {% if months %}

                                <h2 class="table-title">Nieuwsarchief</h2>

                                <select name="archive" class="" 
id="archive-dropdown">
                                    <option value="/nieuws/">Kies een 
maand...</option>

                                    {% for month in months %}

                                        {% ifchanged 
archive_month.date.year %}
                                            <option value="" 
disabled="disabled">{{ month.date.year }}</option>
                                        {% endifchanged %}

                                        <option value="{% url 
"blog_post_list_month" year=month.date.year month=month.date.month %}" {% 
if month.date|date:"Y" == selected_year and month.date|date:"F" == 
selected_month|lower %} selected="selected" {% endif %}>
                                            {{ month.date|date:"F" }}  ({{ 
month.post_count }})

                                            
                                        </option>

                                    {% endfor %}

                                </select>

                            {% endif %}
                        {% endblock %}
                        {% endwith %}
                        {% endwith %}
                    </div>


Thanks for your help!

-- 
You received this message because you are subscribed to the Google Groups 
"Mezzanine Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mezzanine-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to