Tout d'abord, il faut préciser le cahier des charges : afficher un message constitue d'un titre , d'un texte, 2 boutons (un pour valider, un pour refuser ) et les 2 libelles pour les boutons.Je crée un type de contenu 'disclaimer' avec cette structure. Ensuite , j'en saisit un dans la médiathèque (faute de savoir ou le placer pour le moment).

Sur le site en question , l'arborescence est assez simple : la page d'accueil liste des univers pour faire le menu global et dans chaque univers on liste les enfants pour faire le menu secondaire) le disclaimer ne peut donc pas être créer en enfant : la médiathèque est donc une bonne solution et j'opte pour une relation d'objet entre la rubrique a "protéger" et le contenu.

pour savoir si une rubrique est protégé, il faut donc faire une requete pour savoir si au moins un objet en relation est de type 'disclaimer'. mais ce fetch n'existe pas. il faudrait donc faire

  1. fetch( content,
  2. related_objects,
  3. 'object_id', $object_id,
  4. 'all_relations', 'common',
  5. 'related_class_identifiers', array('disclaimer')
  6. )
  7. )

mais le fetch( content , related_objects ) ne permets pas de spécifier le type d'objet en relation : il va donc falloir patcher Ezpublish pour le faire.

Suite au prochain billet