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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to