Browse Source

feat: navigation transversale médiathèque / albumothèque (#21)

Pour gagner de la place on cache visuellement les h1, et on place le form de recherche après la barre pour tout aligner (rastapopoulos).

Co-authored-by: tcharlss <tcharlss@bravecassine.com>
Reviewed-on: #21
master
tcharlss 2 weeks ago
parent
commit
3794be153a
  1. 12
      albums_pipelines.php
  2. 5
      paquet.xml
  3. 9
      prive/objets/liste/albums.html
  4. 2
      prive/objets/liste/albums_choisir.html
  5. 7
      prive/squelettes/contenu/albums.html
  6. 6
      prive/squelettes/top/albums.html
  7. 2
      prive/style_prive_plugin_albums.html

12
albums_pipelines.php

@ -503,6 +503,7 @@ function albums_formulaire_verifier(array $flux): array {
* - 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
* - privé / documents : ajout de la barre d'onglets
* - public / inclure/documents : on ajoute les albums à la suite
*
* @pipeline recuperer_fond
@ -591,6 +592,17 @@ function albums_recuperer_fond($flux) {
}
}
// Privé : ajout de la barre d'onglets dans la médiathèque
if ($fond === 'prive/squelettes/top/documents') {
include_spip('inc/boutons');
$texte = $flux['data']['texte'];
// On masque visuellement le titre, et on la place avant
if ($pos = strpos($texte, 'grostitre')) {
$texte = substr_replace($texte, 'offscreen', $pos, strlen('grostitre'));
}
$flux['data']['texte'] = barre_onglets('albums_documents', 'mediatheque') . $texte;
}
// Public : portfolio des articles
// On ajoute les albums non insérés dans le texte à la suite
if (

5
paquet.xml

@ -40,8 +40,13 @@
<necessite nom="medias" compatibilite="[2.7.27;]" />
<!-- Entrées du menu principal -->
<menu nom="albums" titre="album:titre_albums" parent="menu_edition" icone="images/album-16.svg" />
<menu nom="album_creer" titre="album:icone_creer_album" parent="outils_rapides" icone="images/album-add-16.svg" action="album_edit" parametres="new=oui" />
<menu nom="configurer_albums" titre="album:cfg_titre_albums" parent="menu_configuration" icone="images/album-16.svg" />
<!-- Onglets albums / documents -->
<onglet nom="mediatheque" titre="medias:documents" parent="albums_documents" icone="" action="documents" />
<onglet nom="albumotheque" titre="album:titre_albums" parent="albums_documents" icone="" action="albums" />
</paquet>

9
prive/objets/liste/albums.html

@ -24,6 +24,7 @@
Affichage :
- afficher_recherche : ajoute le form de recherche
- titre : titre personnalisé ou '' pour le masquer
- sinon : message personnalisé si aucun album ou '' pour le masquer
- nb : pagination
@ -83,6 +84,10 @@
}>
</div>
[(#ENV{afficher_recherche}|oui)
<div class="clearfix">#FORMULAIRE_RECHERCHE_ECRIRE{#SELF,ajax}</div>
]
<BOUCLE_liste_albums(ALBUMS documents)
{albums_liens.objet?} {albums_liens.id_objet?} {albums_liens.vu?}
{documents.id_document?} {documents.media?} {documents.extension?}
@ -108,6 +113,10 @@
</div>
</B_liste_albums>
[(#ENV{afficher_recherche}|oui)
<div class="clearfix">#FORMULAIRE_RECHERCHE_ECRIRE{#SELF,ajax}</div>
]
[<div class="liste-objets liste-objets_albums caption-wrap">
<strong class="caption">(#ENV{sinon}|is_null|?{<:album:info_aucun_album:>,#ENV*{sinon}})</strong>
</div>]

2
prive/objets/liste/albums_choisir.html

@ -106,6 +106,8 @@
</div>
</B_liste_albums>
[<div class="clearfix">(#FORMULAIRE_RECHERCHE_ECRIRE{#SELF,ajax})</div>]
[<div class="liste-objets liste-objets_albums caption-wrap">
<strong class="caption">(#ENV{sinon}|is_null|?{<:album:info_aucun_album:>,#ENV*{sinon}})</strong>
</div>]

7
prive/squelettes/contenu/albums.html

@ -7,17 +7,14 @@
<div id='albums' class='albumotheque'>
<h1 class="grostitre"><:album:titre_albums:></h1>
<div class="clearfix">
#FORMULAIRE_RECHERCHE_ECRIRE{#SELF,ajax}
</div>
<h1 class="grostitre offscreen"><:album:titre_albums:></h1>
<INCLURE{
fond=prive/objets/liste/albums,
variante=albumotheque,
variante_album=albumotheque,
docs_affichage_id=albumotheque,
afficher_recherche=oui,
ajax=albums_liste,
env,
}>

6
prive/squelettes/top/albums.html

@ -0,0 +1,6 @@
[(#REM)
Navigation transversale albums / documents
]
[(#VAL{albums_documents}|barre_onglets{albumotheque})]

2
prive/style_prive_plugin_albums.html

@ -393,7 +393,7 @@
display: flex;
align-items: center;
justify-content: flex-end;
margin: var(--spip-spacing-y) 0;
margin: calc(var(--spip-margin-bottom) * 1.5) 0; /* Idem marges .box pour aligner */
padding: calc(var(--spip-box-spacing-x) / 3);
border-radius: var(--spip-border-radius);
/* background-color: var(--spip-color-gray-lightest); */

Loading…
Cancel
Save