Test Panels 3: variants et views pour créer des affichages

Source: https://www.drupal.org/node/1422454

Test sur vm14 http://trans.dev. Il y a aussi de la doc à Panels 3 et sur drupal.org

La préparation (bunddle, champs et vue)

Modudules activés: Panels, Panel nodes et In-Place Editor (mini-panels non activé) + page_manager  et Views content panes (sous ctools)
drush en page_manager panels views_content
perms: use panels dashboard, view pane admin links, administer pane access, use panels in place editing, change layouts in place editing, administer advanced pane settings, administer panels layouts, administer panels styles, use panels caching features, use panels locks, use ipe with page manager

On crée un type de contenu Produit, avec un champs image (field_prod_img) et 2 produits ex (dont les titres sont Produit 1 et Produit 2 -> node id 26 et 27). Configurer les droits (création type de contenu, modif termes...).

1. Créer une vue (nom system: produit), de type contenu Produit. Ajouter les champs dans master et le filtre contextuel :

  • haut droite: ajouter un Contextual Filter "Content: Nid" avec
      - When filter value is NOT available : "Display all results for the specified field"
      - When filter value IS available or a default is provided : "critère validation" Produit / node id
    smiley ne pas oublier que sous "plus" on a " Allow multiple values ", save.

2. Puis y ajouter un "Content pane" (en fr un "volet de contenu"):

  • au centre Pane Settings / "Argument input" ("Saisie d'argument"): Modifier
    Une fenetre s'ouvre, dans "Contenu: Nid source"  prendre from context, puis dans "Required context" (la liste est très longue... aller au 2/3) "content ID" ou en fr "Noeud / Identifiant (ID) du contenu
    Note: case à cocher "optionnal"

 

création panels Produit

admin/structure/pages = Page manager.

Description de Page Manager

En haut: Ajout de pages custom (admin/structure/pages/add) et un onglet wizard (admin/structure/pages/wizard),
au centre :
et en bas: Create a new page (admin/structure/pages/add -> chemin, choix type Variant: Panel ou HTTP responde code, options)

Création d'une variante

3. Cliquer sur Modifier Node Template (bas droite "Manage pages") ou admin/structure/pages/edit/node_view de façon à créer une variante "Détails Produits" avec:

  • Selection Rules "type de contenu" Produit,
  • choix layout (par nb col ou Builders).
  • Y ajouter le contenu : à gauche choisir "View panes" on va alors voir la vue "produit" à droite, et c'est ce qu'on prend.

Ce qui produit (voir les contenus) des boutons en bas des contenus

Naviguer à content/produit-1 : 1. en bas de la page: et 2. chaque produit montre en bas la vue du content pane (liste des produits).

Ne pas oublier de revenir configurer les droits (création type de contenu, modif termes...)

Customize this page

Ne personnalise pas un node id précis, mais la facon dont toutes les occurences du type de contenu "Produit" seront affichés.

6. chaque box apparait dans une boite, et peux etre permuté via cette icone, en glissant

1. ouvre une popup "Panel style" pour la région.
Propose un assistant, avec: "Use display default style", "No markup at all", "Lister", " No style" et "Rounded corners" ;

 2. ouvre une popup "Add content to" (pour ajout d'une autre view, ...)

Chaque box a 3 boutons:

 3. Paramètres, différents selon le type de box (remplacer le titre pour body ; format de date ; si c'est une views: context, Send arguments, overrider URL...)

 4. Style (pour la box)

 5. retire le panel

 7. pour sauver (ou pas)

Change layout

attention, ne pas oublier l'ordre des variants

Note : si on a plusieures variantes, page manager prendra la 1ere qui matche les règles de sélection. On peux réorganiser l'ordre des variantes.
L'autre solution est de préparer un ensemble de variantes par types + un nommé All :

conf de All

sel rules: en bas, NOT est cochée mais l'habituel "node type" a juste coché: album, article, produit (pas panel, book, chantier, cv, basicp)

Conf de Produit: sel rules: "node type" a juste coché: produit. Contenu : %node:title
Conf de Album:  sel rules: "node type" a juste coché: album. Contenu : %node:title
Conf de Article:  sel rules: "node type" a juste coché: article. Contenu : %node:title


Avec la redirection, quand on ajoute un contexte (relationship "node from node on field_ref" si module node reference) il est affiché une liste de champs disponibles (qu'on peux copier pour coller dans URL de redirection: par ex  node/%article:nid) - voir https://vimeo.com/22736919

Plus sur le web

Cf en fr http://drupal.dpi247.com/fr/documentation/doc-technique/tour-dhorizon-des-plugins-ctools-page-manager-et-panels/119

http://www.pixelite.co.nz/article/building-custom-content-panes-aka-ctools-content-types-panels-3-and-drupal-7/
avantage de la technique contenus type ctools vs blocs, avec ex: création timeline twitter.