Topics and their subtopics
  • My theme uses the class "selected" in the navigation to show the users what part of the website they are viewing. I want to show this on all levels in my dropdown menu. This is easily accomplished for the sections/articles: 

        {{ local }}
            {{ unset_topic }}
            {{ set_current_issue }}
            <li{{ if ($gimme->issue->number == $gimme->default_issue->number) && ($gimme->template->name == "issue.tpl" || $gimme->template->name == "section.tpl" || $gimme->template->name == "article.tpl") }} class="selected"{{ /if }}><a href="{{ uri options="template issue.tpl" }}" title="Se alla artiklar i {{ $gimme->issue->name }}">{{ $gimme->issue->name }}</a>
                {{ list_sections }}              
                    {{ if $gimme->current_list->at_beginning }}
                        <ul>
                    {{ /if }}
                    <li{{ if ($gimme->section->number == $gimme->default_section->number) && ($gimme->template->name == "section.tpl" || $gimme->template->name == "article.tpl") }} class="selected"{{ /if }}><a href="{{ uripath options="section" }}" title="Se alla artiklar i {{ $gimme->section->name }}">{{ $gimme->section->name }}</a>
                        {{ list_articles }}
                            {{ if $gimme->current_list->at_beginning }}
                                <ul>
                            {{ /if }}
                            <li{{ if ($gimme->article->number == $gimme->default_article->number) && ($gimme->template->name == "article.tpl") }} class="selected"{{ /if }}>
                                <a href="{{ uripath }}">{{ $gimme->article->name }}</a>
                            </li>
                            {{ if $gimme->current_list->at_end }}
                                </ul>
                            {{ /if }}
                        {{ /list_articles }}
                    </li>
                    {{ if $gimme->current_list->at_end }}
                        </ul>
                    {{ /if }}
                {{ /list_sections }}
            </li>


    But when I try to do the same for the topics, I end up with this: 

            <li{{ if $gimme->template->name == "topic.tpl" }} class="selected"{{ /if }}>
                <a href="{{ uripath options="publication" }}?{{urlparameters options="template topic.tpl" }}">Teman</a>
                {{ list_subtopics }}
                    {{ if $gimme->current_list->at_beginning }}
                        <ul>
                    {{ /if }}
                    
                    <li{{ if ($gimme->topic->identifier == $gimme->default_topic->identifier) && ($gimme->template->name == "topic.tpl") }} class="selected"
                    {{ else }}{{ list_subtopics }}
                    {{ if ($gimme->topic->identifier == $gimme->default_topic->identifier) && ($gimme->template->name == "topic.tpl") }} class="selected"
                    {{ else }}{{ list_subtopics }}
                    {{ if ($gimme->topic->identifier == $gimme->default_topic->identifier) && ($gimme->template->name == "topic.tpl") }} class="selected"
                    {{ else }}{{ list_subtopics }}
                    {{ if ($gimme->topic->identifier == $gimme->default_topic->identifier) && ($gimme->template->name == "topic.tpl") }} class="selected"
                    {{ /if }}{{ /list_subtopics }}{{ /if }}{{ /list_subtopics }}{{ /if }}{{ /list_subtopics }}{{ /if }}>
                        <a href="{{ uripath options="publication" }}?{{urlparameters options="template topic.tpl" }}">{{ $gimme->topic->name }}</a>
                        {{ list_subtopics }}
                            {{ if $gimme->current_list->at_beginning }}
                                <ul>
                            {{ /if }}
                            <li{{ if ($gimme->topic->identifier == $gimme->default_topic->identifier) && ($gimme->template->name == "topic.tpl") }} class="selected"
                            {{ else }}{{ list_subtopics }}
                            {{ if ($gimme->topic->identifier == $gimme->default_topic->identifier) && ($gimme->template->name == "topic.tpl") }} class="selected"
                            {{ else }}{{ list_subtopics }}
                            {{ if ($gimme->topic->identifier == $gimme->default_topic->identifier) && ($gimme->template->name == "topic.tpl") }} class="selected"
                            {{ /if }}{{ /list_subtopics }}{{ /if }}{{ /list_subtopics }}{{ /if }}>
                                <a href="{{ uripath options="publication" }}?{{urlparameters options="template topic.tpl" }}">{{ $gimme->topic->name }}</a>
                                {{ list_subtopics }}
                                    {{ if $gimme->current_list->at_beginning }}
                                        <ul>
                                    {{ /if }}
                                    <li{{ if ($gimme->topic->identifier == $gimme->default_topic->identifier) && ($gimme->template->name == "topic.tpl") }} class="selected"
                                    {{ else }}{{ list_subtopics }}
                                    {{ if ($gimme->topic->identifier == $gimme->default_topic->identifier) && ($gimme->template->name == "topic.tpl") }} class="selected"
                                    {{ /if }}{{ /list_subtopics }}{{ /if }}>
                                        <a href="{{ uripath options="publication" }}?{{urlparameters options="template topic.tpl" }}">{{ $gimme->topic->name }}</a>
                                        {{ list_subtopics }}
                                            {{ if $gimme->current_list->at_beginning }}
                                                <ul>
                                            {{ /if }}
                                            <li{{ if ($gimme->topic->identifier == $gimme->default_topic->identifier) && ($gimme->template->name == "topic.tpl") }} class="selected"{{ /if }}>
                                                <a href="{{ uripath options="publication" }}?{{urlparameters options="template topic.tpl" }}">{{ $gimme->topic->name }}</a>
                                            </li>
                                            {{ if $gimme->current_list->at_end }}
                                                </ul>
                                            {{ /if }}
                                        {{ /list_subtopics }}
                                    </li>
                                    {{ if $gimme->current_list->at_end }}
                                        </ul>
                                    {{ /if }}
                                {{ /list_subtopics }}
                            </li>
                            {{ if $gimme->current_list->at_end }}
                                </ul>
                            {{ /if }}
                        {{ /list_subtopics }}
                    </li>
                    {{ if $gimme->current_list->at_end }}
                        </ul>
                    {{ /if }}
                {{ /list_subtopics }}
            </li>


    Is there a simpler way to check whether the default topic is the subtopic of the current one? All these list_subtopics are slowing down the page sometimes. 
    Post edited by Sebastian Olsson (2) at 2013-07-03 10:49:23