Browse Source

Albums à la suite du portfolio des squelettes de la dist : plutôt que de surcharger, on ajoute via recuperer_fond.

pull/21/head
tcharlss 1 week ago
parent
commit
0d648c847f
  1. 24
      albums_pipelines.php
  2. 21
      inclure/albums_dist.html
  3. 21
      inclure/documents.html

24
albums_pipelines.php

@ -415,10 +415,11 @@ function albums_formulaire_verifier(array $flux) : array {
/**
* Modifier le résultat du calcul d'un squelette
*
* - inc-upload_document : identifiant unique + wording si utilisé pour un album.
* - portfolio_document : remplacer par un autre squelette pour les albums.
* - colonne-documents : remplacer par un autre squelette
* - document_desc : ajouter un attribut rel pour les albums
* - privé / inc-upload_document : identifiant unique + wording si utilisé pour un album.
* - privé / portfolio_document : remplacer par un autre squelette pour les albums.
* - privé / colonne-documents : remplacer par un autre squelette
* - privé / document_desc : ajouter un attribut rel pour les albums
* - public / inclure/documents : on ajoute les albums à la suite
*
* @pipeline recuperer_fond
*
@ -461,7 +462,7 @@ function albums_recuperer_fond($flux) {
}
}
// Remplacer le squlette de portfolio des documents sur la fiche d'un album
// Privé : remplacer le squelette de portfolio des documents sur la fiche d'un album
if (
$fond === 'prive/objets/contenu/portfolio_document'
and $objet === 'album'
@ -473,7 +474,7 @@ function albums_recuperer_fond($flux) {
);
}
// Remplacer le squelette des documents en colonne pour l'édition d'un objet
// Privé : remplacer le squelette des documents en colonne pour l'édition d'un objet
if (
$fond === 'prive/objets/editer/colonne_document'
and empty($flux['args']['contexte']['bypass'])
@ -485,7 +486,7 @@ function albums_recuperer_fond($flux) {
);
}
// Modèles d'aperçu des documents dans les listes : insérer un attribut rel sur le <a> entourant la vignette.
// Privé : modèles d'aperçu des documents dans les listes : insérer un attribut rel sur le <a> entourant la vignette.
// C'est à priori le seul moyen de faire fonctionner le mode galerie de la mediabox tout en isolant chaque album.
// (ce n'est pas possible avec la config du sélecteur jQuery des galeries).
// Le <a> est produit par la fonction `vignette_automatique()` qu'on ne peut pas surcharger ou étendre.
@ -507,6 +508,15 @@ function albums_recuperer_fond($flux) {
}
}
// Public : portfolio des articles
// On ajoute les albums non insérés dans le texte à la suite
if (
$fond === 'inclure/documents'
and $portfolio_albums = recuperer_fond('inclure/albums_dist', $flux['args']['contexte'] ?? [])
) {
$flux['data']['texte'] .= $portfolio_albums;
}
return $flux;
}

21
inclure/albums_dist.html

@ -0,0 +1,21 @@
[(#REM)
Complément du squelette inclure/documents.html de la dist
On ajoute les albums non insérés dans le texte à la suite du portfolio.
Cf. pipeline recuperer_fond.
]
<B_albums_dist>
<div class="bloc clearfix albums_portfolio" id="albums">
<BOUCLE_albums_dist(albums_liens albums) {objet=article} {id_objet=#ID_ARTICLE} {vu=non} {statut=publie}>
<h2>#TITRE</h2>
<INCLURE{
fond=modeles/album,
id_album,
disposition=list,
masquer_legende=oui,
}>
</BOUCLE_albums_dist>
</div>
</B_albums_dist>

21
inclure/documents.html

@ -1,21 +0,0 @@
[(#REM)
Surcharge du squelette de la dist qui affiche les documents liés à un article.
On inclut le squelette «normal», puis on affiche les albums.
][
(#REM) Documents joints classiques (portfolio, illustrations & documents)
]<INCLURE{fond=squelettes-dist/inclure/documents, env}>[
(#REM) Albums liés à l'article et non insérés dans le texte
]<B_albums>
<div class="menu portfolio-albums" id="albums">
<h2><:album:titre_albums:></h2>
<BOUCLE_albums(albums_liens){id_article}{vu=non}>
<INCLURE{fond=modeles/album_liste, id_album, metas=extension-taille, titre=oui, balise_titre=strong}>
</BOUCLE_albums>
</div><!-- #albums -->
</B_albums>
Loading…
Cancel
Save