Gestionnaire de médias: organisation des documents

cpalocpalo Member
Bonjour,

Actuellement lorsqu'on est dans Gestion des Médias,
on a a accès aux divers dossiers avec une liste complète et longue, tous les dossiers et leurs sous-dossiers apparaissant.
Lorsqu'on a de nombreux sous-dossiers, cela devient vite un peu pénible.
Est-ce qu'il y aurait un plugin ou un moyen pour corriger cela?

Exemple:
galleries
gallery-1
gallery-2
gallery-3
Seul galleries serait affiché et le détail n'apparaitrait que lorsqu'on aurait sélectionné galleries.

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Je ne connais pas un plugin pour faire cela.
    Le problème vient que la fonction plxUtils::printSelect ne gère pas les balises optgroup.
    Voir un exemple chez Mozilla près le texte résultat à cette adresse :
    https://developer.mozilla.org/fr/docs/Web/HTML/Element/Optgroup

    Je pense que la modif est possible mais il faut cogiter un peu.
    J'ai ce souci pour récupérer la feuille de style qui se fond dans la liste des fichiers du thèmes.
    Je l'ai fait pour les pages statiques regroupées par groupe et le rendu visuel est plutôt sympa.

    Pas sûr qu'un plugin puisse faire le job. Mieux vaut reprendre le code de printSelect en découpant le fichier des fichiers. Ou créer une nouvelle fonction dans plxUtils pour afficher une arborescence de fichiers. Une fois fait, on doit pouvoir masquer les sous-groupes avec quelques règles CSS comme pour la barre de menu.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Avec les modifs suivantes, on arrive à un select plus sympa pour afficher les dossiers et les fichiers sous forme d'arborescence avec pliage/dépliage (folding) pour les médias et les fichiers du thème courant.:
    [list=*]
    [*]rajouter les fonctions printSelectDir et _printSelectDir dans core/lib/PlxUtils[/*]
    [*]remplacer "$plxMedias->contentFolder()" par "plxUtils::printSelectDir('folder', $_SESSION, $plxMediasRoot);" dans core/admin/medias.php[/*]
    [*]remplacer "plxUtils::printSelect('template', $aTemplates, $tpl)" par "plxUtils::printSelectDir('template', $tpl, PLX_ROOT.$plxAdmin->aConf.$style, false)" dans core/admin/parametres_edittpl.php[/*]
    [*]rajouter un script javascript dans core/admin/foot.php[/*]
    [*]rajouter quelques règles CSS dans core/admin/theme/theme.css[/*]
    [/list]

    J'ai mis sur Youtube une petite vidéo de démonstration:
    https://youtu.be/pibePHQAkNs

    les sources sont accessibles sur Github (branche select_dossier) :
    https://github.com/bazooka07/PluXml/tree/select_dossier
  • À voir ce qu'en pense Stéphane car du coup, tu modifies les fichiers sources. Peut-être une évolution pour la future version de PluXml ?
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    juin 2017 modifié
    [list=*]
    [*]Ceux qui maitrisent des outils comme Git seront intéressés de tester cette solution plutôt que d'attendre la prochaine version de PluXml pendant des mois[/*]
    [*]Il est d'autre part utile que des personnes testent de nouvelles idées et suggèrent des améliorations avant de les intégrer à PluXml. On n'a jamais trop besoin de béta-testeurs.[/*]
    [*]la liste des dossiers et fichiers s'affichent dans un <select> à 2 endroits : les médias et les fichiers du thème courant. La factorisation s'impose donc.[/*]
    [*]Il n'a pas simple de modifier avec un plugin le rendu des fonctions $plxMedias->contentFolder() et plxUtils::printSelect('template', $aTemplates, $tpl) dans medias.php et parametres_edittpl.php respectivement. Certes, on peut utiliser Javascript pour modifier le DOM des pages mais c'est un peu sortir l'artillerie lourde alors qu'on peut le faire de façon plus élégante.[/*]
    [*]La structure du code de Pluxml n'est pas bouleversée[/*]
    [/list]
Connectez-vous ou Inscrivez-vous pour répondre.