J'ai un site Web qui utilise un module privé pour définir l'accès au contenu, et bien sûr certaines de mes pages ont des éléments de menu. Maintenant, si je définissais une page comme privée, seuls les utilisateurs disposant des autorisations appropriées pouvaient voir cela, ce qui est génial et ce que je voulais.
Mais j'ai un petit problème avec les éléments du menu, ils disparaissent si le contenu qui leur est attribué n'est pas public (c'est-à-dire que la page qui leur est attribuée est privée), c'est OK mais j'aimerais pouvoir toujours montrer ces éléments dans la navigation, donc si l'utilisateur clique dessus, il les amènera à la page de connexion leur demandant de saisir leurs coordonnées afin de voir cette page particulière.
Donc, fondamentalement, je voudrais changer le comportement des éléments de menu de manière à ce qu'ils soient toujours visibles pour les membres anonymes et enregistrés du site Web, mais lorsque vous cliquez dessus, vous pourrez soit voir la page (si vous êtes connecté) dans) ou être redirigé vers la page de connexion (si anonyme)
J'ai trouvé cette solution qui n'est pas la meilleure pour moi car j'ai beaucoup de pages comme ça donc je cherche une meilleure approche. J'ai même essayé le module de visibilité des éléments de menu, mais cela n'a pas aidé non plus!
Comment puis-je y parvenir s'il vous plaît?
Luca
Réponses:
Votre problème est assez courant.
Voici une discussion sur la façon de mettre en œuvre une telle astuce dans Drupal 6 et 7 et 8: http://drupal.org/node/300607
La solution pour Drupal 7 peut être trouvée ici: http://drupal.org/node/300607#comment-4450062
Si vous préférez un module prêt - vous pouvez le télécharger ici https://github.com/systemseed/always_visible
la source
J'ai eu une situation similaire où les pages devaient apparaître dans le système de menus, mais le contenu ne devrait apparaître qu'aux utilisateurs connectés. La solution finale était très simple et continue de fonctionner.
Au lieu de contrôler l'accès au contenu, le modèle de nœud vérifie si l'utilisateur est connecté. Si tel est le cas, il affiche le contenu. Sinon, du texte apparaît avec des liens pour vous connecter ou vous inscrire.
Ils ne sont pas automatiquement redirigés, donc si c'est critique, ce n'est pas la solution.
Le code en bref:
la source