Arguments (ex) + view fichier attaché

Requiert modules: cck, ccl Node référence, Views

nodereference

produits et fabriquants : 2 types de contenu (à créer)

  • fabriquant: pas de corps (effacer le contenu du champ Libellé du champ corps), Libellé du champ titre: Marque
  • produit: pas de corps, Libellé du champ titre: Marque
    ajout champs cck "fabrik":
    • Type de données à stocker: Node référence
    • Liste de sélection comme Élément du formulaire pour l'édition des données
    • paramètres du champ produit:
      • Obligatoire
      • Types de contenu pouvant être référencés: fabriquant

saisir kk données

créer une view (sur table maitre)

  • Style de ligne : Champs
  • Champs : Node : Titre (sans Étiquette, mais Lier ce champ à son noeud coché)
  • Critères de tri : Node : Titre asc
  • Filtres : Type = produit, Node : Publié = oui

c'est une liste alphabétique de tous les modèles

ajouter une relation les 2: bloc Relations, clic sur le bouton +
Cochez la case Exiger cette relation et nommez-la.

pour afficher la marque du constructeur: champ Titre du type de contenu fabriquant (et non le champ Marque du type de contenu produit qui, lui, est un champ relationnel)

 

ajoutons ensuite le champ nom du fabriquant (bloc Champ, clic sur +) pour regrouper les produits dans l'affichage

  • En sélectionnant le champ Node : Titre vous avez la possibilité d'utiliser une relation - vous utiliserez la relation Marque.

    Indiquez Marque comme étiquette et cochez les cases Exclure de l'affichage et Lier ce champ à son nœud.

dans la Prévisualisation en direct, une liste alphabétiques des produits sans aucune indication quant à leur marque.

Pour afficher les données de façon hiérarchique (et voir les marques), nous devons regrouper les champs par nom de marque. Pour cela, dans le bloc Paramètres de base, cliquez sur le petit rouage en face de Style : non mis en forme puis sélectionnez Marque dans la liste déroulante Champ de regroupement et cliquez sur le bouton Mise à jour. Si nous n'avions pas modifié auparavant l'étiquette de Marque, nous aurions eu le choix entre deux libellés Node : Titre, ce qui aurait prêté à confusion.

aurait aussi pu être réalisé en paramétrant les marques de voitures comme taxonomie et non comme type de contenu spécifique

 


 

Relations et Attachment

Attachment ou Fichiers attachés : Un fichier attaché (Attachment) Views est simplement un mode d'affichage de Views qui est rattaché à un autre affichage Views (habituellement un affichage de page ou de bloc).
Un affichage de type Page ou Bloc (ainsi que d'autres types d'affichages apportés par des modules tiers) peuvent avoir n'importe quel nombre d'affichages associés. Sur une page, ces affichages associés peuvent se situer physiquement avant ou après l'affichage auquel ils sont rattachés.

Avec 3 types de contenus (« Album » et « Événement » disposent d'un champ Référence de noeud qui pointent vers le node « Groupe ».)
Ici je vais créer une view qui a un affichage de type Page (appelé « Band Page ») et deux Affichages Associés - fichiers attachés - (appelés « Album Attachment » et « Events attachments »).

On veut obtenir kk chose comme:

Infos sur le Groupe
[Nom du groupe]

Albums
[Album 1]
[Album 2]

Événements
[Événement 1]
[Événement 2]
[Événement 3]

Création de base de band_info

créer une view node (appelée « band_info ») qui a un affichage de type Page (appelé « Band Page ») et deux Affichages Associés - fichiers attachés - (appelés « Album Attachment » et « Events attachments »). Les deux Affichages Associés seront attachés à la fin de la page « Band »

Conf Maitre de « band_info » 

Paramètres de base
Titre : Band Info
Arguments / contextual filter (en 2017)
Node : Nid (Action à mener si l'argument est absent : Cacher la vue / Page non trouvée (404))
Champs
Node : Titre
Filtres
Node : Publié Oui
Node : Type = Band

Conf Page de « band_info » 

Ensuite j'ai crée un nouvel affichage de type Page, je l'ai nommé « Band page » et j'ai paramétré son chemin à band/%. Rappelez-vous, le % est juste un paramètre substituable pour l'argument Node : Nid paramétré pour l'affichage par défaut.
test (dans la Prévisualisation en direct)-> indiquer dans le champ Arguments l'ID de node d'un node « Band »: ne devrait afficher que le nom d'un groupe

Les Attachment (ou Fichiers attachés)

créer un fichier attaché qui affiche tous les nodes « Albums » du Groupe dont l'ID de node est indiqué comme argument

Paramètres de base
Nom : Album Attachment
Paramètres de fichiers attachés
Position: Après
Attacher à: Band Page

paramétrer Node : type sur Album => Filtres,  clique sur Node : Type puis clique sur le bouton Supplanter
pour le modifier à « Album » sans risque de perturber les autres affichages. Il est facile de voir si un paramètre est supplanté : il n'est plus affiché en italiques

puisque notre affichage ne montrera désormais que les nodes « Albums », comment allez-vous le filtrer avec l'ID des nodes « Groupes » ? Avec une relation: ajouter une nouvelle relation à l'affichage Album Attachment  Contenu : Band. Mais avant, s'assurer qu'on ajoute cette relation uniquement à l'affichage Albums attachments (pas à la vue entière): relation ne doit pas etre en italique.
deux paramètres à configurer: étiquette et "Exiger cette relation" n'est pas nécessaire (l'argument filtrera tout sauf les contenus Albums que je veux voir)

argument Node : Nid
Dans son état actuel, l'affichage essaiera de filtrer la liste des Albums avec l'argument Node ID fourni. Dire à la view d'utiliser cet argument pour filtrer les nodes Albums renvoyés par le Groupe :
cliquer sur l'argument Node : Nid - Supplanter  Puis dans la liste déroulante Relation: choisir Band

 

La dernière chose que j'ai faite à Albums attachment pour le rendre un peu plus user-friendly a été de surcharger le paramètre Entête (bloc Paramètres de base, lien Entête) pour lui ajouter ceci : <strong>Albums</strong>

 

L'affichage Events Attachment fonctionne exactement de la même façon. La différence principale est que le filtre Node: Type utilise le type de contenu Event