Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

flop25
2013-07-11 18:57:08

de rien, si vous avez d'autres soucis, on est là
Bonne continuation

TefenX
2013-07-11 18:30:47

Salut,

Bon juste un ptit message non pas pour vous embêter plus longtemps mais pour vous remercier d'avoir su m'accorder du temps pour m'aider à la fois à la compréhension du fonctionnement de Piwigo et à la fois dans mon projet (qui n'est pas encore finit) mais qui avance grâce à vous.


Cordialement

TefenX
2013-07-10 15:51:18

Oh mince je suis stupide aussi quelques fois, combien de fois j'ai relue le code sans m'en rendre compte.... j'ai vraiment honte...

En tout les cas merci beaucoup


Cordialement

flop25
2013-07-10 15:49:00

add_event_handler('loc_end_index_thumbnails', 'filter_thumbnails');
^^ ça m'arrive aussi

TefenX
2013-07-10 15:43:02

Oui Plugin activé (j'ai d'autre fonction dans ce plugin qui fonctionnent correctement (je me dis peut etre que c'est une erreur d'avoir plusieurs 'mini-plugin' ), et oui la page contient des miniatures qui sont affichées à l'écran mais impossible d'afficher ne serait ce qu'une chaine de caractère.

Cordialement

flop25
2013-07-10 15:36:26

ça devrait marcher
Vous avez bien activé le plugin ? Vous testez bien sur une page avec des miniatures ?

TefenX
2013-07-10 15:31:40

Par exemple :

Code:

add_event_handler('loc_end_index_thumbnail', 'filter_thumbnails');

      
function filter_thumbnails($tpl_thumbnails_var)
{
  
   // préfiltre
  global $template;
  
  
  $template->set_prefilter('index_thumbnails', 'filter_prefiltre_thumbnails');
  
  $taille=count($tpl_thumbnails_var);
  print_r ($taille);
  for ($pt=0; cpt<$taille;$cpt++){  
                  ...

Ce n'est qu'un exemple mais même ça, ne s'affiche pas. J'ai testé d'autres manipultations que je ne mettrai pas ici vu que ça  ne fonctionne pas non plus mais je pense que soit je me suis une fois de plus trompé (ce qui ne m'étonnerai guère) soit que la fonction n'est jamais utilisée. Ou alors il ne fallait pas que je la créé dans le plugin perso...

Cordialement

flop25
2013-07-10 15:17:46

le print_r barbare ça marche, je le fais souvent pour tester

Mettez votre code ou bout de code à chaque fois svp

TefenX
2013-07-10 15:12:16

Finalement peut-être pas si simple que ça, j'ai l'impression qu'en fait la fonction n'est jamais exécutée. Car je tente d'afficher quelque chose que ce soit (return/print_r/var_dump ou echo, oui oui je sais qu'il est proscrit mais il fallait que je teste) rien ne se passe.

Je suis confus, là je souhaite afficher le contenu de $tpl_thumbnails_var, le passer par un explode pour ensuite en extraire les extension etc.... mais rien...

Après si je pouvais avoir un peu plus d'explications sur le fonctionnement de "loc_end_index_thumbnails" parce que je trouve pas des masses d'infos (ou sinon un simple lien qui m'aurai echappé ferait parfaitement l'affaire)


Cordialement

TefenX
2013-07-08 21:52:57

La c'est même plus que clair vous m'avez carrément maché le travail, je n'en demandais pas tant....C'est pas comme ça que je vais réussir à progresser (même si je dois vous paraître complètement nulle, ce qui est certainement le cas j'ai une certaine envie de progresser) Mais je me rends compte que je me suis très mal exprimé en faisant ma demande, ce que vous appelez la configuration du plugin en fait je voulais savoir ce que ça faisait car je n'en comprenais pas l'intéret pour mon cas. Et effectivement vous me le confirmez que ce n'avez aucun intéret.

De plus:

$template->set_prefilter('index_thumbnails', ' mon_prefiltre_thumbnails');

Est ce que ceci signifie qu'on ajoute un préfiltre (mon_prefiltre_thumbnails (a changer j'en conviens (ça évitera de me le dire si jamais j'ai une réponse))) a la variable $template?

Et pour finir en quoi je serai vexée? si je viens ici c'est bien parce que j'e n'ai aucune idée de comment je dois m'y prendre, j'évite de poster pour le plaisir de poster....(enfin j'ose l'espérer)


Du coup je vous remercie pour la structure que voilà et il ne me restera plus qu'a utiliser les variables de sessions de piwigo pour finir cette partie là.

Cordialement

Tiphaine

flop25
2013-07-08 18:53:45

ça devient agaçant certes, mais vous n'avez apparemment aucune compréhension de ce que vous faites, sans vouloir vous vexer
Moi-même je ne suis pas pas programmeur, je ne comprends pas tout, j'ai appris sur le tas avec le site du zéro le php..., mais tout de même copier exactement le plugin que je vous avais mis en exemple... enfin il y a 90% qui ne vous sert à rien et qui est du plugin Image preview
par ex:

Code:

          global $template, $conf ;
          $conf_imgp = explode("#" , $conf['imgpreview']);
          $imgpreview=array( 'width' => $conf_imgp[0], 'height' => $conf_imgp[1], 'title' => $conf_imgp[2], 'opacity' => $conf_imgp[3] , 'preloadImages' => $conf_imgp[4] );
      $template->assign(array(
                  'imgpreview' => $imgpreview
          ));

c'est la configuration même du plugin ! ça ne vous sert à rien... je vous l'avais mis en exemple pour que vous voyiez ceci

Code:

add_event_handler('loc_end_index_thumbnail', 'mafonction_thumbnails');
function mafonction_thumbnails($tpl_thumbnails_var)
{
// préfiltre
global $template
$template->set_prefilter('index_thumbnails', ' mon_prefiltre_thumbnails');
// on peut faire mumuse avec les variables des miniatures
foreach $tpl_thumbnails_var
blabla

//on retourne les variables
return $tpl_thumbnails_var;
}
function mon_prefiltre_thumbnails($content, &$smarty)
{
//faire qqchose avec le contenu
$content="blabla"; // et pas des echo()
return $content;
}

est-ce plus clair désormais?

TefenX
2013-07-08 09:08:09

Salut,

Bon n'ayant pas réussit à avancer sur mon "plugin" je m'en tourne à nouveau vers vous.
J'aimerai avoir votre avis, vos remarques sur ce bout de code que j'ai pondu, et même me dire si je suis complètement à coté de la plaque...
Cela fait maintenant une semaine que je bloque et ça devient assez agaçant pour rester polie. :)

Code:

add_event_handler('loc_end_index_thumbnail', 'imgpreview_thumbnails');
  function imgpreview_thumbnails($tpl_thumbnails_var)
  {
  
  /*
  /* Var session
  */
      $_SESSION['setMediaType'];
      //echo $_SESSION['setMediaType'];
      $ext=''; 
       if ($_SESSION['setMediaType']==="photos"){
        $ext= "- rle-jpeg-jpe-gif-png-bmp-tif-tiff-jpg-tga-";
        } 

       if ($_SESSION['setMediaType']==="videos"){
        $ext= "- wmv-avi-mp4-";
      }
      if ($_SESSION['setMediaType']==="pdf"){
        $ext= "- pdf-";
      }
      
  /*
  /*Fin var session
  */
      
          global $template, $conf ;
          $conf_imgp = explode("#" , $conf['imgpreview']);
          $imgpreview=array( 'width' => $conf_imgp[0], 'height' => $conf_imgp[1], 'title' => $conf_imgp[2], 'opacity' => $conf_imgp[3] , 'preloadImages' => $conf_imgp[4] );
      $template->assign(array(
                  'imgpreview' => $imgpreview
          ));
      /*
      * Préfiltre
      */
      $template->set_prefilter('index_thumbnails', 'imgpreview_prefilter_thumbnails');
          $template->set_prefilter('stuffs', 'imgpreview_prefilter_thumbnails');
          $dir=dirname(__FILE__).'/css_js.tpl';
          $template->set_filenames(array(
                  'imgpreview_css_js' => realpath($dir),
            )  );
          $template->assign_var_from_handle('IMGPREVIEW', 'imgpreview_css_js');
         /*
       * Fin préfiltre
       */
       
      /*
      * Actions sur les extensions
      */
      $curExt=str_replace('-','',$ext);
      $taille=count($tpl_thumbnails_var);// calcul taille tableau
      
      for($cpt=0; $cpt<$taille;$cpt++){       // pour toutes les imgs du tableau
        $res= $tpl_thumbnails_var[$cpt]['file'];          //on passe chaque valeur dans une chaine de caractère
        $name=$tpl_thumbnails_var[$cpt]['name'];
        $addr= $tpl_thumbnails_var[$cpt]['path'];
        $extension= strtolower($res);//mise en minuscule
        
        $extension=strstr($res,'.');      //cherche le premier caractère de la chaine
        $extension=substr($extension,1);     //suppression du '.' de la chaine precedente
            
        $pos = strrpos( $curExt, $extension );
        /*
        * Fin actions sur extensions
        */
        
        //echo '<br>extension : '.$taille.'<br>';
        if($pos == true){            //si elle existe alors
        
            //echo "<img class='thumbnail' src='$addr' alt='$name' style='border:5px solid green;'>";
             
          }
          //sinon...
          else{ 

            //echo "<img class='thumbnail' src='$addr' alt='$name' style='border:5px solid red;'>";
          }
      }
      return $tpl_thumbnails_var;
}

Merci d'avance pour toutes vos remarques constructives que vous pourrez m'apporter !

Cordialement

Tiphaine.

TefenX
2013-07-04 15:22:25

Re-bonjour,

Je reviens vers vous car il semblerait que je n'ai strictement rien comprit. J'utilise donc  le trigger cité ci-dessus dans lequel j'applique mon filtre (je ne me suis pas occuppé encore d'utiliser les variables de session de piwigo mais ça viendra plus tard). ça a bien résolu un de mes soucis à savoir devoir toujours refresh mon template "my-thumbnails" pour afficher son contenu. Bref cela étant j'ai rien réussit à faire d'autre car le plugin va chercher et afficher toutes les miniatures sans prendre en considération les conditions ou la variable de session.

En bref je suis coincé avec le code que tu m'as indiqué. (à savoir que j'ai simplement reprit la fonction à partir de la ligne 26). J'espère ne pas m'être trompé au moins pour ça....


Cordialement

TefenX
2013-07-04 10:58:11

Tout d'abord merci pour votre réponse je vais tenter de mettre en application ce que vous m'avez expliqué. Et je vous tiens au courant de l'avancement des choses.

Cordialement

flop25
2013-07-04 10:32:35

Bonjour

TefenX a écrit:

En fait je ne comprends pas trop quel event handler utiliser. Si quelqu'un a un lien donnant plus de précisions sur ce que  fait ça:

add_event_handler('loc_begin_index_thumbnails', 'aff_picture');

function aff_picture(){
    global $template, $page;
    $template->set_prefilter('index_thumbnails', 'aff_picture_prefilter');
}

par exemple
http://piwigo.org/dev/browser/extension … nc.php#L26
on définit un préfiltre, afin de pouvoir modifier le code html retourné, en faisant des "cherche&remplace" du contenu qui est $content, au lieu de faire des echo()

là j'utilise loc_end_index_thumbnails qui peut permettre l'accès à la variable $tpl_thumbnails_var qui contient toutes les miniatures et leur propriété : ainsi avant le préfiltre on peut déjà modifier les variables utilisées pour l'affichage. Perso j'y verrais bien votre filtre de contenu ici, selon la variable de session

D'ailleurs vous pourriez plutôt utiliser les fonctions intégrées de piwigo à savoir pwg_set_session_var('nom', 'valeur') et pwg_unset_session_var('nom')

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact