Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
Module Domain : créer des contenus différents selon l'hôte
Contexte
[modifier | modifier le wikicode]Le module Drupal Domain permet de créer des contenus différents en fonction du nom de l'hôte, lorsqu'un site Drupal est accessible depuis plusieurs URL.
Dans l'exemple suivant, nous avons d'abord créé un site Drupal en recette, puis, une fois installé en production, nous avons créé le site Drupal pour la salle de lecture en créant un sous répertoire et en ajoutant les paramètres spécifiques :
/home/ajlsm/drupals/prod/web/sites/
├── archives-lecture.agglo-pau.fr
│ ├── default.services.yml
│ ├── default.settings.php
│ ├── files
│ ├── services.yml
│ ├── settings.local.php
│ └── settings.php
├── default
│ ├── default.services.yml
│ ├── default.settings.php
│ ├── files
│ ├── services.yml
│ ├── settings.php
│ └── site.php
├── development.services.yml
├── example.settings.local.php
├── example.sites.php
└── README.txt
Les fichiers : default/settings.php et archives-lecture.agglo-pau.fr/settings.local.php pointe sur la base de données spécifique à chaque domaine.
Il y a deux bases :
#Site Internet
'database' => 'drupal_internet'
#Site Salle de lecture
'database' => 'drupal_slecture'
Problèmatique
[modifier | modifier le wikicode]Dans ce contexte, on souhaite ajouter des contenus différents selon le domaine.
Ces contenus doivent être modifiables et visibles uniquement dans le domaine associé (ou les deux).
Solution : module Domain
[modifier | modifier le wikicode]Voir : https://www.drupal.org/project/domain
Voir aussi : Différencier les items de menus dans 1 Drupal et 2 domaines
Installation du module Domain
[modifier | modifier le wikicode]$ composer require 'drupal/domain:^1.0@beta' (ou supérieur)
Installez l'extension principale et les extensions secondaires de "Domain" depuis l'interface Drupal.
Configuration du module
[modifier | modifier le wikicode]- Configurer : /admin/config/domain > Ajouter les noms de domaines en les nommant distinctement : seul un des deux est considéré comme domaine par défaut. Ici, le domaine Internet.
- Paramétrer : /admin/config/domain/settings > Par exemple : Dans "custom CSS classes", ajouter une classe qui permette de s'appliquer à chaque domaine avec une information différente : [domain:id] .
TODO
Droits pour éditer et visualiser les contenus
[modifier | modifier le wikicode]Une fois le module activé et configuré, il faut définir les droits d'accès des utilisateurs et des éditeurs de contenu aux contenus.
- Droits pour les éditeurs de contenus : /admin/people/permissions > Domain access : Tous les droits pour les éditeurs de contenu.
- Droits pour les utilisateurs : /admin/people/permissions > Domain content : tous les droits pour tous.
Gestion de contenu
[modifier | modifier le wikicode]En mode administrateur uniquement (par défaut), le module ajoute deux Views pour la gestion des accès des contenus et des éditeurs :
- /admin/content/domain-content
- /admin/content/domain-editors
Depuis la page de gestion des contenus, l'administrateur peut affilié ou non des contenus en masse. /admin/content
Contenu par domaine
[modifier | modifier le wikicode]Dans les contenus /admin/content > Ajouter un contenu.
Dans chaque nouveau contenu, ou dans les contenus existants, renseignez à quel domaine associer ce contenu : un des domaines et le domaine source, ou plusieurs domaines ou tous les domaines.