+ -

PayPal KwsPHP

Renouvellement
Hébergement + NDD

Afficher donateurs

Merci à tous les donateurs.
Les dons cette année nous permettent de payer l'hébergement des 2 prochaines années.

bargraph

100%

Se connecter pour faire un don

© 2017 Copyright

Menu

Forum

Sujets Importants

Espace membre

Forum : Masquer l’entête

Accès rapide :

 

Effectuer une Recherche avancée OU


Besoin d'un coup de main codage  [1 réponse]

σjacknikolson
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 571 (0.14/Jour)
Inscrit(e) le: 23 juin 2006

Niveau en PHP : Zéro
Imprimer Permalien dimanche 3 septembre 2017 à 16:13  

Salut à tous. Je sais que nous ne sommes plus trop nombreux et actifs sur le site, mais je poste cette question, on sait jamais.

Alors voilà, j'essaye de créer un truc pour afficher plusieurs galeries Mg3 (les miniatures) dans mon module Page, que je pourrais insérer où je veux dans ma page avec une syntaxe précise:

Citation :

Mon début de texte
{galerie=47+ordre=ASC+colonnes=3}
la suite de mon texte
{galerie=43+ordre=DESC+colonnes=2}
la suite de mon texte etc...





Pour ça j'ai créé une fonction dans la Mg3


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. function mg3_aff_gal_multi( $galerie, $fordre, $colonnes ) 
  5. {
  6. $req_mg3_gal_multi = reqmysql('
  7.         SELECT    * 
  8.         FROM `mg3_images` 
  9.         WHERE    `mg3_images`.`img_alb_id` = '.$galerie.'
  10.         ORDER  BY    `mg3_images`.`img_chemin` '.$fordre.'    
  11.             
  12.     ');    
  13.     
  14. echo'<div id="macy-container-'.$galerie.'"  data-photo-swipe-gallery="gallery">' ;    
  15.  
  16. while ($rep_mg3gal_multi = Kws_mysql_fetch_object($req_mg3_gal_multi))
  17. {
  18. ici mon code pour afficher les images
  19. }
  20.  
  21. echo'</div>
  22. <script>
  23.         Macy({
  24.             container: \'#macy-container-'.$galerie.'\',
  25.             trueOrder: false,
  26.             waitForImages: false,
  27.             margin: 2,
  28.             columns: '.$colonnes.',
  29.             breakAt: {
  30.                 1100: 2,
  31.                 790: 1
  32.             }
  33.         });
  34.     </script>        
  35. <!-- -->';    
  36.     
  37. }
  38.  
  39. #####!!!#####
  40. ?>


Mon raisonnement semble fonctionner puisque si dans le fichier page.php je fais


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. preg_match_all("#{galerie=(.*)(})#Ui",$PageContenu,$out); 
  5.  
  6. $count=count($out[0]); 
  7. for($i=0;$i<$count;$i++) 
  8. { 
  9.  
  10. preg_match("#{galerie=(.*)\+(ordre=)(.*)\+(colonnes=)(.*)(})#Ui", $out[0][$i], $values_keywords[$i]);
  11.  
  12. mg3_aff_gal_multi( ''.$values_keywords[$i][1].'', ''.$values_keywords[$i][3].'', ''.$values_keywords[$i][5].'' );
  13.  
  14. }
  15.  
  16. #####!!!#####
  17. ?>


ça m'affiche bien 2 galeries fonctionnelles l'une sous l'autre (je rappelle ici que je suis une bille en php, qui fait des copier-coller, donc si c'est crade je m'en excuse)

Voila, seulement maintenant j'aimerai que ça remplace chaque {galerie=xxx+ordre=ASC+colonnes=xxx} par ma fonction mg3_aff_gal_multi et là, je bloque...eh oui, y a des limites au copier-coller quand même.
Si des fois quelqu'un passe par là et a une solution, ça serait cool car je crois que je suis arrivé au bout de ce que je suis capable de faire.

Visiter son site

remonter

Infos CMS KwsPHP

Informations : Avant de poster un sujet sur le forum

Veuillez avant tout vérifiez la comparaison de vos fichiers sur votre site
Mon compte / Outils / Comparaison


La recherche avancée du forum (en ciblant au mieux les options de la recherche)
La Faq - La documentation - La documentation en vidéo - Le sujet "Install et Mise à jour"
Vous devez lire en priorité le topic de la 1.6 pour en découvrir ses fonctionnalités


Afficher

remonter

σjacknikolson
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 571 (0.14/Jour)
Inscrit(e) le: 23 juin 2006

Niveau en PHP : Zéro
Imprimer Permalien lundi 4 septembre 2017 à 10:34  

Bon, finalement après une quasi nuit blanche j'ai fini par y arriver comme un grand.

J'utilisais des echo dans ma fonction, ça ne pouvait pas fonctionner. Donc voici la version fonctionnelle.

Pour la fonction:

Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. function mg3_aff_gal_multi( $galerie, $fordre, $colonnes ) 
  5. {
  6.     $aff_gal = '';
  7. $req_mg3_gal_multi = reqmysql('
  8.         SELECT    * 
  9.         FROM `mg3_images` 
  10.         WHERE    `mg3_images`.`img_alb_id` = '.$galerie.'
  11.         ORDER  BY    `mg3_images`.`img_chemin` '.$fordre.'    
  12.             
  13.     ');    
  14.     
  15. $aff_gal = '<div id="macy-container-'.$galerie.'"  data-photo-swipe-gallery="gallery">' ;    
  16. while ($rep_mg3gal_multi = Kws_mysql_fetch_object($req_mg3_gal_multi))
  17. {
  18. $dim=getimagesize($rep_mg3gal_multi->img_chemin);
  19. $aff_gal .='<div class="demo item">   
  20. <a class="img-thumbnail-variant-1" href="'.$rep_mg3gal_multi->img_chemin.'" data-photo-swipe-item="" data-size="'.$dim[0].'x'.$dim[1].'">
  21. <figure><img src="'.mg3_image_tn( $rep_mg3gal_multi->img_chemin ).'" alt="'.$rep_mg3gal_multi->img_intitule.'" title="'.$rep_mg3gal_multi->img_intitule.'" /></figure>
  22. <div class="caption"><span class="icon icon-lg linear-icon-magnifier" style="clear:both;margin-left:10px;"></span>
  23. <br style="clear:both;" />'.$rep_mg3gal_multi->img_intitule.'</div></a>
  24. <a href="pagephoto" title="" class="pasla">index.php?mod=mg3&amp;ac=image&amp;alb='.$galerie.'&amp;img='.$rep_mg3gal_multi->img_id.'</a>
  25. </div>';
  26. }
  27. $aff_gal .='</div>
  28. <script>
  29.         Macy({
  30.             container: \'#macy-container-'.$galerie.'\',
  31.             trueOrder: false,
  32.             waitForImages: false,
  33.             margin: 2,
  34.             columns: '.$colonnes.',
  35.             breakAt: {
  36.                 1100: 2,
  37.                 790: 1
  38.             }
  39.         });
  40.     </script>';    
  41. return $aff_gal;    
  42. }
  43.  
  44. #####!!!#####
  45. ?>


et pour le fichier page:

Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. preg_match_all("#{galerie=(.*)(})#Ui",$PageContenu,$out);
  5. $count=count($out[0]); 
  6. $donnemg3=array();
  7. for($i=0;$i<$count;$i++){ 
  8. preg_match("#{galerie=(.*)\+(ordre=)(.*)\+(colonnes=)(.*)(})#Ui", $out[0][$i], $values_keywords[$i]);
  9. $donnemg3[] = mg3_aff_gal_multi( ''.$values_keywords[$i][1].'', ''.$values_keywords[$i][3].'', ''.$values_keywords[$i][5].'' );
  10. } 
  11. echo str_replace($out[0],$donnemg3,$PageContenu);
  12.  
  13. #####!!!#####
  14. ?>


Du coup, si j'écris un texte entrecoupé de {galerie=xxx+ordre=ASC+colonnes=xxx}, ça m'affiche bien les galeries voulues avec les paramètres choisis.

Donc ça fonctionne.

PS: si y a des trucs à améliorer dans le code je suis preneur.

Visiter son site

remonter

Besoin d'un coup de main codage  [1 réponse]

Les connectés : (0 membre - 17 visiteurs - 180 visites aujourd’hui) ♦ 2 808 614 visiteurs depuis le 22/06/2006