Quel est le meilleur moyen de créer un site Web avec des sections dans Drupal?
Les utilisateurs doivent pouvoir ajouter, supprimer et imbriquer les pages assez facilement. Les pages ajoutées à une section doivent avoir une URL appropriée, telle que "/ [nom de la section]/[titre de la page]".
Cela semble être une tâche simple, mais je ne parviens pas à trouver la bonne combinaison d’outils pour le faire. Subsite se rapproche, mais pour une raison quelconque, ne configure pas les chemins de contenu corrects. Le plus proche de moi était de créer un livre pour chaque sous-section, mais j'ai l'impression que j'utilise le mauvais outil pour le travail.
Édité avec ma solution: j'ai utilisé des groupes organiques avec pathauto. J'ai défini pathauto pour que les pages de groupes aient des URL de la forme [chemin du groupe]/[titre de la page].
Après avoir modifié les alias d'URL, vous devez cliquer sur l'onglet Mise à jour en bloc et mettre à jour les URL à modifier. Après cela, si vous cliquez sur vos articles que vous créez, ils doivent avoir le bon en-tête URL. Vous avez besoin de PathAuto.
Donc, en résumé, si vous souhaitez que vos actualités, vos sports, votre blog et de tels articles soient chacun sous quelque chose, quelque chose.com/news/somearticle, quelque chose.com/blog/mygreatday et ainsi de suite, allez à admin/structure/taxonomy et ajoutez du vocabulaire , le mien s’appelle "Sections de sites Web", une fois que vous avez terminé, cliquez sur "Ajouter des termes" pour ce vocabulaire, puis ajoutez vos termes tels que "Sports", "Blog", "Actualités", etc.
À partir de là, allez dans types admin/structure/content et cliquez sur "Gérer les champs" pour les champs pour lesquels vous souhaitez que cela fonctionne. J'ai édité des articles. Ainsi, dans "gérer les champs" de la zone "ajouter un nouveau champ", entrez le nom de votre vocabulaire, "Sections de site Web" dans cet exemple, sélectionnez "référence de terme" et "Cases de contrôle/Radio". Sur la page suivante, sélectionnez le vocabulaire "Sections de site Web". Faites ce que vous voulez dans la partie suivante et sauvegardez-le.
Maintenant, allez dans Admin-> Configuration -> Recherche et métadonnées -> Alias URL et cliquez sur l'onglet Modèles. Dans les "Modèles pour tous les chemins d’article", saisissez ceci dans [noeud: champs_site_website]/[noeud: titre] ou sélectionnez les deux dans la zone "Modèles de remplacement".
Maintenant, lorsque vous créez un nouveau contenu, vous pouvez créer un nouvel article, le mettre dans le titre (qui fera partie de votre chemin), et il y aura une "Sections de site Web" et votre balise à sélectionner. Si vous l'avez sélectionné pour créer automatiquement un alias, il devrait être correct maintenant. Si vous avez déjà des pages Web, vous pouvez mettre à jour vos alias dans l'onglet Modèles du paragraphe précédent, mais dans la partie "Mise à jour en masse". Si vous le mettez à jour, il devrait mettre à jour vos alias et vous serez prêt à partir.
Les adresses de vos articles doivent maintenant être quelque chose.com/yourselectedtag/yourtitleforthearticle
J'ai partagé ceci, car il m'a fallu plus d'une demi-journée de travail pour le faire. Je suis également novice dans ce domaine, alors imaginez que cela puisse aider quelqu'un d'autre.
Si Subsite fait tout ce dont vous avez besoin à l'exception de générer le chemin correct, je vous suggère de contribuer au module et d'ajouter la pièce manquante.
La combinaison des modules Pathauto et Token permet de générer l'URL que vous recherchez si seulement le sous-site expose le nom du sous-site au module Token en implémentant hook_token_values et hook_token_list. Il existe déjà un problème pour cela: support de pathauto/token . (Je ne me souvenais même pas d'avoir écrit ça, LOL!)
Voici un exemple d'intégration de jeton pour le module de taxonomie: token_taxonomy.inc . Je ne connais pas très bien les composants internes du module Subsite, mais je pense que l’écriture d’une intégration par jeton ne devrait pas être trop difficile (en supposant que vous puissiez écrire php).
Je ne suis pas tout à fait sûr de ce que vous entendez par "nid", mais il semble que vous devriez pouvoir y parvenir avec quelques modules assez standard: