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

De AJLSM
Version datée du 31 mars 2023 à 09:30 par Jlarvers (discussion | contributions)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche


Important :
En cours de rédaction.

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'
Notice :
Malgré les deux bases distinctes, les modifications apportées dans l'un ou l'autre domaine modifient les deux domaines de la même façon.

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]
  1. 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.
  2. 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.

  1. Droits pour les éditeurs de contenus : /admin/people/permissions > Domain access : Tous les droits pour les éditeurs de contenu.
  2. 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 :

  1. /admin/content/domain-content
  2. /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.