[RESOLU] nouvelle disposition des dossier-Gestion des médias 5.1.7

DeevadDeevad Member
février 2013 modifié dans Bogues
Bonjour,

Je suis en train de faire mon update vers la nouvelle version, et au détour de test , j'ai vue un détail qui me bloque : la nouvelle disposition des dossier dans Gestion des médias. J'avais adapté mes dossier comme ceci 2011/08/<nomdupost> à l'époque de 5.1.2 ou on 'entrait' dans un dossier pour voir les sous-dossier. C'était pratique.
Sous 5.1.6 , l'arbre fonctionnait, même si les mois ( par ex ) apparaissait dans le désordres ; ils étaient concaténé sous les dossiers parents.

A présent, voilà ce que ça donne ; ça me mets toutes les années, puis tous les mois mélangés.
Impossible parmis 01 , 01 et 01 de savoir pour moi ou est rangé quoi.
Exemple en image :

2013-02-22_screenshot_01.jpg

Je suis conscients que l'erreur vient de mon organisation par date. Mais il y a t'il un moyen d'amélioré la situation pour mon cas ? Ou je dois manuellement faire la régression du fichier ?
Merci d'avance.

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour David
    C'est un bug.
    Voilà comment le résoudre:
    https://github.com/pluxml/PluXml/issues/4

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Merci Stéphane pour la réponse super rapide.

    Aussi, comme j'ai pu voir le code responsable, j'ai bidouiller un peu pour m’assaisonner ça en plus lisible. ( Tout dépends des gouts et des couleurs ). En attendant , je poste ma modif :
    	public function contentFolder() {
    
    		$str  = "\n".'<select class="folder" id="folder" size="1" name="folder">'."\n";
    		$selected = (empty($this->dir)?'selected="selected" ':'');
    		$str .= '<option '.$selected.'value=".">|. ('.L_PLXMEDIAS_ROOT.') &nbsp; </option>'."\n";
    		# Dir non vide
    		if(!empty($this->aDirs)) {
    			ksort($this->aDirs);
    			foreach($this->aDirs as $k => $v) {
    				$prefixe = '&nbsp;';
    				$i = 0;
    				while($i < $v['level']) {
    					$prefixe .= '.&nbsp;&nbsp;&nbsp;';
    					$i++;
    				}
    				$prefixe .= '|--&nbsp;';
    				$selected = ($v['path']==$this->dir?'selected="selected" ':'');
    				$str .= '<option class="level_'.$v['level'].'" '.$selected.'value="'.$v['path'].'">'.$prefixe.$v['name'].'</option>'."\n";
    			}
    		}
    		$str  .= '</select>'."\n";
    		# On retourne la chaine
    		return $str;
    	}
    

    et ce que ça donne :
    2013-02-22_screenshot_02.jpg
  • StéphaneStéphane Member, Former PluXml Project Manager
    Ha oui c'est pas mal du tout cette présentation dans le déroulant. Merci pour le partage du code.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • +1 (en plus d'ajouter code couleur pour différencier les niveaux;))
  • DeevadDeevad Member
    février 2013 modifié
    :)
    @danielsan : J'ai testé via un bidouillage affreux , mais la seul chose que j'ai pu faire était une variation en niveau de gris , et le rendu n'était pas terrible... Genre en pseudo code avec certainement des erreurs de syntaxe puisque je note de mémoire :
    [== PHP ==]
    $deco=.$v[level]. * 222;
    $str .= '<option style="color:#'.$deco.';' ... .... etc... 
    
    ( ça permets d'avoir le niveau 0 à noir, 1 à gris 222 , level 2 à gris 444 , et 3 à gris 666 etc... mais ça bug à partir que ça dépasse level 5 car la couleur hexa 1110 n'est certainement pas reconnu 8o ).
  • danielsandanielsan Member
    février 2013 modifié
    @Deevad : plus simple, il y a une class CSS en fonction du niveau de l'option.
    Reste plus qu'à rajouter une feuille de style ;)
    je crois que j'avais demandé à Stéphane cet ajout pour la 5.1.7 (je ne sais pas si cet ajout est précisé dans le changelog)
  • @Danielsan : En effect , plus simple , merci de l'astuce. J'ai pu y bidouiller un peu par plaisir et l’accommoder à mes besoin de naviguer plus rapidement au dossier de rangement ( vue que je publie beaucoup d'image sur mon blog ).

    2013-02-23_screenshot_04.jpg

    [== CSS ==]
    /* -----------------------------
       Dropdown list File Browser
    ----------------------------- */
    
    .folder  {
    	background-color: #FFF;
    }
    
    .level_0 {
    	text-decoration:none;
    	font-weight:bold;
    	background-color: #AED0F8;
    	color: black;
    }
    
    .level_1 {
    	text-decoration:none;
    	font-weight:bold;
    	background-color: #E8F3FF;
    	color: black;
    }
    
    .level_2 {
    	text-decoration:none;
    	color: black;
    }
    
    .level_3, .level_4 , .level_5 {
    	color: #666;
    	font-style:italic
    }
    
  • Deevad a écrit:
    vue que je publie beaucoup d'image sur mon blog
    je te comprends, je gère un site à plus de 100 catégories et plus de 500 articles avec près d'un diapo par article ... j'ai créé un plugin qui crée automatiquement un dossier image en fonction de l'article et qui le classe de la même manière qu'est classé l'article
    ex : data/images/categorie1/article1, data/images/categorie1/article2, etc ... et un appel automatique du dossier image de l'article dans le template pour créer le diapo à la volée ...
  • HarukaHaruka PluXml Project Manager
    @Deevad : beau boulot ;-)
  • :) super Deevad ;)
    Jolie travail, je pense que Stéphane prendra ça en compte.
  • bankai a écrit:
    :) super Deevad ;)
    Jolie travail, je pense que Stéphane prendra ça en compte.
    Oui, ça serait chouettissime de l'avoir en natif. C'est tout bête comme classement mais c'est super efficace (c'est souvent le cas des choses les plus simple : vive le KISS).
  • C'est sympa les présentation avec des tirets, des points, des pipes... mais du coups plus de navigation au clavier, adieu accessibilité et ça oblige les personnes travaillant principalement au clavier (j'en fait partie) à utiliser cet infâme accessoire à deux boutons :)

    J'ai un string de l'array

  • ;)

    @danielsan : je vais y regarder à ce plug.

    @flipflip : pas d'inquietude , c'est comme avant, la liste ne se déplie pas, c'est que de la déco Css. Donc ca marche au clavier.
  • Je suis pas certain que si sur une liste composé de cette forme :

    [== Indéfini ==]
    Arthur
    Karadoc
    Lancelot
    Perseval
    


    J'ajoute les décos

    [== Indéfini ==]
    |-- Arthur
    |-- Karadoc
    |-- Lancelot
    |-- Perseval
    


    La navigation avec les flèches va marcher mais si je suis en haut de ma liste et je veux aller chercher jusqu'à Lancelot par habitude je vais taper l et pouff la sélection va aller directement à Lancelot alors qu'avec les décos je peux m'assoir dessus reste que les flèches. Sur une petite liste c'est pas gênant mais sur des grosses listes c'est bien pratique de pouvoir naviguer avec les premières lettres surtout quand on sait ce qu'on cherche.


    Ton 2eme post apport un truc jolie en CSS mais dans ton premier tu modifie du code et tu affiche en dur les déco donc elles sont considéré par le moteur du navigateur comme était du texte appartenant à la liste.

    J'ai un string de l'array

  • @flipflip : ok, je vois maintenant. Mais la déco en dur à toujours été là ( préfixe | dans les versions précédentes en dur en début de chaque ligne ). Donc je n'ai pas cassé de fonctionnalité O:) .

    Par contre je comprends bien ton soucis.

    Aussi, je n'ai pas le temps ni l'envie ici de tester si c'est possible de mettre des images de fonds en CSS à ces lignes de niveau pour simuler les 'pipes' de l’arborescence ( et décaler chaque niveau à coup de margin-left en prevoyant jusqu'au level 8 ). Mais c'est contribuable et ça reste ouvert, fait toi plaisir :) .
  • il y a aussi un petit plugin jQuery qui transforme ce type de menu déroulant en arborescence plus ergonomique ... ;)
  • @deevad : il est vrai qu'après avoir posté j'ai eu un doute mais je n'avais pas la possibilté de vérifier. La déco est bien présenter à l'origine mais comme j'utilise peu le gestionnaire de média je m'en rappelais plus.

    De tout manière il y a déjà eu une discution sur le gestionnaire de média et il me semble que nous sommes plusieurs à le trouvé pas très clair mais d'un autre côté je n'ai pas souvenir en avoir vue un bien foutu dans un cms :(

    J'ai un string de l'array

Connectez-vous ou Inscrivez-vous pour répondre.