THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Je veux mettre des liens vers 2 pages de contenu dans la barre de menu en dessous du logo   {hook name="main.navbar-primary"}.
Je pense que cette boucle est bonne
<ul>
{loop name="ajout" type="content"}
<li><a href="{$URL nofilter}">{$TITLE} </a></li>
{/loop}
</ul>
Je ne sais pas dans quel fichier la mettre pour que les liens apparaissent dans le   {hook name="main.navbar-primary"}
Merci

Offline


Bonjour,

Dans le module "HookNavigation" -> templates -> frontOffice -> default -> main-navbar-primary.html
Tu peux modifier le fichier

Ou sinon il faut créer un module pour t'accrocher au hook. Tu as donc un exemple avec le module "HookNavigation" smile

Cordialement


Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


Salut,

Pour faire ce que tu veux, il faut surcharger le HookNavigation qui s'occupe d'injecter la navigation au niveau de l'appel {hook name="main.navbar-primary"}.

Pour ce faire, dans ton template il faut que tu crées l'arborescence suivante :

modules/HookNavigation/main-navbar-primary.html

Dans le fichier .html tu remets le contenu du fichier initial du module HookNavigation/templates/frontOffice/default/main-navbar-primary.html et tu y ajoutes ta boucle.

Ca devrait le faire ;-)


Développeur front-end & Thelia's Lover
Thelia School | GitHub | Twitter

Offline


{loop name="ajout" type="content"}

Tu veux vraiment afficher TOUS les contenus ?


OpenStudio Toulouse

Offline


La solution de @MESPECHE reste plus propre. Petite précision, par template, il veut dire le répertoire de ton template frontOffice.


Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


Bonjour
Merci
J'ai utiliser la solution de MESPECHE et cela fonctionne.

Voici mon code dans local/modules/HookNavigation/templates/frontoffice/defaults

<nav class="navbar navbar-default nav-main" role="navigation" itemscope itemtype="http://schema.org/SiteNavigationElement">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-primary">
                <span class="sr-only">{intl l="Toggle navigation" d="hooknavigation.fo.default"}</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="{navigate to="index"}">{intl l="Categories" d="hooknavigation.fo.default"}</a>
        </div>
        <div class="collapse navbar-collapse" id="navbar-primary">
            <ul class="nav navbar-nav navbar-categories">
                <li><a href="{navigate to="index"}" class="home">{intl l="Home" d="hooknavigation.fo.default"}</a></li>
                {loop type="category" name="category.navigation" parent="0"}
                <li><a href="{$URL}">{$TITLE}</a></li>
                {/loop}
                {loop type="content" name="ajout"}
                 <li><a href="{$URL}">{$TITLE}</a></li>
                 {/loop}
            </ul>
        </div>
    </div>
</nav>

Si cela n'est pas la bonne façon de faire SVP me dire comment corriger?

Il n'y a que 2 contenus dans le site. Donc c'est correct pour l'instant.
Mais pour un site ou il y en aurait plus, j'imagine que pour limiter l'affichage des contenus (id 1 et id 2) je dois ajouter à la boucle
   {loop type="content" name="ajout" [id="1,2"]}
                 <li><a href="{$URL}">{$TITLE}</a></li>
                 {/loop}
Est-ce la bonne façon?
Merci

Offline


{loop type="content" name="ajout" [id="1,2"]}

Pas tout à fait.

{loop type="content" name="ajout" id="1,2"}

Mais tu peux aussi filtrer par folder. Voir la documentation de cette boucle ici : http://doc.thelia.net/en/documentation/ … ntent.html


OpenStudio Toulouse

Offline

Offline


Content d'avoir pu t'aider !

Pour ce qui est de cibler tes contenus par ID, je suis contre cette méthode tout simplement car il se peut que les identifiants changent.
En effet, il arrive très souvent que les identifiants ne correspondent pas entre l'environnement de production et l'environnement de développement.

Pour palier à ce problème je te conseil d'utiliser le module Keyword que j'ai créé. Il te permet de cibler les contenus via un mot clé ce qui est bien plus pratique ;-)

Tu peux trouver un tutoriel qui explique le fonctionnement du module sur Thelia School : Créer un système de "tags" avec le module Keyword

Même si ce n'est pas ce que tu désires faire, il y a des éléments du tuto qui te concernent ;-)


Développeur front-end & Thelia's Lover
Thelia School | GitHub | Twitter

Offline


Hé! merci à tous.
Je viens de mettre main-navbar-primary.html au bon endroit (solution de @MESPECHE)
De plus j'ai activé Keyword , et j'affiche dans le menu uniquement les contenus ayant le mot-clé «menu» et CELA FONCTIONNE!
Moi qui travaille presque toujours avec SPIP, j'ai l'impression de retrouver  quelque chose de familier avec ces mots-clés.
J'aime de + en + THELIA.

Comment écrire résolu sur ce sujet?

Bon maintenant j'aimerais un tuto pour faire la mise à jour de 2.1.3 à 2.1.4
Je ne comprends pas comment utiliser les lignes de commande?
Je veux faire une mise à jour par FTP mais j'ai peur d'écraser ma bd car en test en local c,est ce qui est arrivé.

Offline


OUPS! j'ai écrit trop vite. En local tout est parfait avec keyword
En public lorsque j'essaie d'ajouter un groupe de mot-clés ça me dit une erreur est survenu ...
Je ne suis pas capable d'ajouter un groupe de mots-clés et évidemment pas de mots-clés non plus!

Piste: en local j'ai unthelia 2.1.4 et en public c'est un 2.1.3
Est-ce que cela change qqchose pour le module keyword?

Offline


Il y a eu récemment une correction sur ce module.

Prends la dernière version.


OpenStudio Toulouse

Offline


J'ai ré-installé le module keyword en prenant le zip sur github.
J'ai réussi à l'installer en public et à créer des groupes de mots et des mots-clés

Si je surcharge dans template/ .... modules/hooknavigation/main-navbar-primary.html (solution Mespeche) rien ne se passe!
Si je le mets dans local/modules/HookNavigation/templates/frontOffice/default (solution MRGUILLOU) c'est fonctionnel.
Pourtant en local la solution de Mespeche fonctionne.

Voici le code que j'ai ajouté à main-navbar-primary.html
{loop name="contents" type="keyword_content" keyword="menu" folder="1" }
                 <li><a href="{$URL}">{$TITLE}</a></li>
                 {/loop}