2017-08-17 3 views
1

Je travaille avec Middleman et j'ai été en mesure d'ajouter une classe active à la navigation de menu en fonction de votre sur la page ou non. Donc, cela fonctionne bien, mais pas j'ai un lien Nouvelles dans la navigation qui vous amène à une page d'aperçu des nouvelles (cela devient actif), mais j'ai un peu plus de lecture qui vous amène à un seul poste de nouvelles. Quand c'est le cas, le lien News n'est plus actif car il ne pense plus à cette page.Middleman seul article de nouvelles ajouter classe active à la navigation

Ma structure de dossier est

aktuelles 
    - index.html.erb (overview of all news articles) 
    - kuendigungsschutz-fuer-geschaeftsfuehrer (single news article) 
    - index.html.erb 

Alors, je l'ai fourni quelques images. D'abord montre la page d'aperçu et les aktuelles sont mises en évidence parce que nous sommes sur cette page. Mais quand vous cliquez sur l'article de nouvelles pour en lire plus, vous pouvez voir sur l'image suivante, les aktuelles ne sont plus mises en évidence et j'aimerais qu'elles ne soient pas sûres de savoir comment faire. Un assistant dans le config.rb mais je ne sais pas quoi.

c'est ce que j'ai pour la navigation dans l'en-tête

<li> 
    <a class="<%= is_page_selected("/aktuelles/") %>" 
     href="/aktuelles">Aktuelles</a> 
</li> 

c'est ce que je le a href lorsque vous cliquez sur l'article de nouvelles pour lire la chose.

Je suppose que quelque chose dans ce href doit changer pour que les aktuelles restent actives quand vous cliquez sur ce lien?

<a class="teaser container" href="kuendigungsschutz-bei-kleinbetrieben-im-falle-einer-regelmasigen-beschaeftigung-von-leiharbeitnehmern"> 
    <sup>10.11.2015</sup> 
    <h5 class="teaser__title mart-1">Kündigungsschutz bei Kleinbetrieben im 
     Falle einer regelmäßigen Beschäftigung von Leiharbeitnehmern 
    </h5> 
    <p>Arbeitnehmer haben nur dann Kündigungsschutz, wenn deren 
     Arbeitsverhältnis länger als 6 Monate besteht und der Arbeitgeber in der 
     Regel mehr als 10 vollzeitbeschäftigte Arbeitnehmer beschäftigt. 
    </p> 
    <p class="teaser__link">weiterlesen</p> 
</a> 

news article overview

single news article

Toute aide serait très apprécié

Répondre

0

Donnez ce un coup, il est la façon la plus concise pour y parvenir avec Middleman que j'ai trouvé:

dans config.rb:

helpers do 
    def active_navigation(page) 
    current_page.url.include?(page) ? "active" : '' 
    end 
end 

et dans votre modèle, il suffit de définir le chemin que vous souhaitez vérifier:

<ul> 
    <li class="<%= active_navigation("/aktuelles") %>"> 
    <%= link_to_page 'Aktuelles', '/aktuelles' %> 
    </li> 
</ul> 

Maintenant, sur une page où chemin d'URL contient «/aktuelles », le li aura un « actif "classe appliquée. Par conséquent,/aktuelles,/aktuelles/abc,/aktuelles/123, etc., tout va entraîner l'application d'une classe active.

+1

Merci travaillé comme un charme – rcho