plxGlob::getInstance

Bonjour à tous,

Je souhaite afficher les images stockées dans un répertoire, la méthode plxGlob::getInstance marche bien sur une page statique,
mais impossible de l'utilise dans un plugin.

Ma méthode n'est pas top :( , je voudrai récupérer les liens des images pour les afficher (sous forme d'un plugin) dans une sidebar.

Avez vous une idée ?

lien pour l'utilisation dans une page statique

Merci d'avance,

Djb

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Salut

    J'utilise plxGlob::getInstance dans mes plugins, par exemple dans plxMySkinSlect et ça fonctionne très bien. C'est quoi ton souci ?
    		$files = plxGlob::getInstance(PLX_ROOT.'themes', true);
    		if($styles = $files->query("/[a-z0-9-_\.\(\)]+/i")) {
    			foreach($styles as $k=>$v) {
    				if(substr($v,0,7) != 'mobile.') $this->aSkins[$v] = $v;
    			}
    		}
    

    permet de récupérer les dossiers dans /themes

    le principe est identiques pour récupérer des fichiers: $files = plxGlob::getInstance('MON_DOSSIER');

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Merci stépahne,

    je t'envoie mon code
    [== PHP ==]
    public function MiniSlider() {
    
    
          # Nom du dossier images à renseigner
          $dir = 'data/images/slider';
    
          # Récupération et affichage de la liste des images sous forme de liste
          $glob = plxGlob::getInstance($dir, true);
    
          if ($files = $glob->query('/[a-z0-9-_]+.tb.(jpg|gif|png)$/i')) {
              echo '<div id="owl-demo" class="owl-carousel">';
              foreach($files as $filename) {
                  $file = $dir.'/'.$filename;
                  echo '<div class="item"><img src="'.$file.'" alt="" /></a></div>';
              }
              echo '</div>';
          }
          else echo "Aucune image";
        }
    

    je ne vois pas le problème, 8.(
  • DjbWebmasterDjbWebmaster Member
    septembre 2015 modifié
    je pense avoir trouvé :lol:

    merci Stéphane

    Le slider fonctionne, je vais mettre en dl le plugin pour la communauté :D

    visible dans la sidebar
    [== PHP ==]
    $dossier =  $this->getParam("dir");
    
          $directory = 'data/images/'.$dossier; // pluxml version 5.4
    
          $files = plxGlob::getInstance(PLX_ROOT.$directory);
    
          echo '<div id="owl-demo" class="owl-carousel">';
    
            if($styles = $files->query("/[a-z0-9-_\.\(\)]+/i")) {
              foreach($styles as $k=>$v) {
                $slider = $directory.'/'.$v;
    
                echo '<div class="item"><img src="'.$slider.'" alt="" /></div>';
              }
            }
    
    
            echo '</div>';
    
Connectez-vous ou Inscrivez-vous pour répondre.