Accueil   Accueil    Forum   Forum    Download   Download    Livre d'or   Livre d'or    Contact   Contact    Liens Web   Liens Web

Besoin d'un coup de main codage - CMS KwsPHP - Le site clés en main

Colonne de gauche

Espace membre

Privé Masquer le formulaire de connexion


Se souvenir de moi ?


Mot de passe oublié

Menu

Forum

Sujets Importants

fleche basForum : Masquer l’entête

Accès rapide :

 

Effectuer une Recherche avancée OU


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

fleche bas

σjacknikolson
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 652 (0.09/Jour)
Inscrit(e) le: 23 juin 2006
Visiter son site
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.


Création de site internet Chambéry - Référencement seo de site internet à Chambéry -
Photographe de mariage Chambéry -


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



σjacknikolson
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 652 (0.09/Jour)
Inscrit(e) le: 23 juin 2006
Visiter son site
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.

Création de site internet Chambéry - Référencement seo de site internet à Chambéry -
Photographe de mariage Chambéry -


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