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
<?php
#####!!!#####
-
function mg3_aff_gal_multi( $galerie, $fordre, $colonnes )
{
$aff_gal = '';
$req_mg3_gal_multi = reqmysql('
SELECT *
FROM `mg3_images`
WHERE `mg3_images`.`img_alb_id` = '.$galerie.'
ORDER BY `mg3_images`.`img_chemin` '.$fordre.'
');
$aff_gal = '<div id="macy-container-'.$galerie.'" data-photo-swipe-gallery="gallery">' ;
while ($rep_mg3gal_multi = Kws_mysql_fetch_object($req_mg3_gal_multi))
{
$dim=getimagesize($rep_mg3gal_multi->img_chemin);
$aff_gal .='<div class="demo item">
<a class="img-thumbnail-variant-1" href="'.$rep_mg3gal_multi->img_chemin.'" data-photo-swipe-item="" data-size="'.$dim[0].'x'.$dim[1].'">
<figure><img src="'.mg3_image_tn( $rep_mg3gal_multi->img_chemin ).'" alt="'.$rep_mg3gal_multi->img_intitule.'" title="'.$rep_mg3gal_multi->img_intitule.'" /></figure>
<div class="caption"><span class="icon icon-lg linear-icon-magnifier" style="clear:both;margin-left:10px;"></span>
<br style="clear:both;" />'.$rep_mg3gal_multi->img_intitule.'</div></a>
<a href="pagephoto" title="" class="pasla">index.php?mod=mg3&ac=image&alb='.$galerie.'&img='.$rep_mg3gal_multi->img_id.'</a>
</div>';
}
$aff_gal .='</div>
<script>
Macy({
container: \'#macy-container-'.$galerie.'\',
trueOrder: false,
waitForImages: false,
margin: 2,
columns: '.$colonnes.',
breakAt: {
1100: 2,
790: 1
}
});
</script>';
return $aff_gal;
}
-
#####!!!#####
?>
et pour le fichier page:
Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
<?php
#####!!!#####
-
preg_match_all("#{galerie=(.*)(})#Ui",$PageContenu,$out);
$count=count($out[0]);
$donnemg3=array();
for($i=0;$i<$count;$i++){
preg_match("#{galerie=(.*)\+(ordre=)(.*)\+(colonnes=)(.*)(})#Ui", $out[0][$i], $values_keywords[$i]);
$donnemg3[] = mg3_aff_gal_multi( ''.$values_keywords[$i][1].'', ''.$values_keywords[$i][3].'', ''.$values_keywords[$i][5].'' );
}
echo str_replace($out[0],$donnemg3,$PageContenu);
-
#####!!!#####
?>
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.