Article dans une fenêtre modale

Bonjour,
J'ai un soucis pour afficher mes articles dans une fenêtre modale. J'ai toujours le même article qui s'affiche quelque soit celui que je sélectionne dans la liste. Je vous joints le code que j'ai mis dans le fichier home.php car j'ai sûrement loupé quelque chose :
[== PHP ==]
<?php while($plxShow->plxMotor->plxRecord_arts->loop()): ?>
	<article class="article" role="article" id="post-<?php echo $plxShow->artId(); ?>">
	        <a href="#openModal">	
			<?php $plxShow->artTitle(''); ?>
			<?php $plxShow->artChapo(''); ?>		
		</a>
	</article>
<?php endwhile; ?>

<div id="openModal" class="modalDialog">
	<div>
		<a href="#close" title="Close" class="close">X</a>
		<main class="main grid" role="main">
			<?php $plxShow->artTitle(); ?>
			<?php $plxShow->artThumbnail(); ?>
			<?php $plxShow->artContent(); ?>
		</main>
	</div>
</div>
merci.

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    A chaque tour de la boucle $plxShow->plxMotor->plxRecord_arts->loop(), PluXml pointe sur un nouvel article.

    Fatalement à la sortie de la boucle, on pointe sur le dernier article affiché dans la liste précèdente et qui s'affiche dans ton "modalDialog".
    PluXml ne permet pas d'afficher directement un article dans une fenêtre modale comme tu veux le faire.
    Mais en rusant, on peut contourner cette limite avec un iframe, et un chouia de javascript et de CSS.
    Tu devrais lire la discussion ici : http://forum.pluxml.org/viewtopic.php?id=5933

    Il te faut laisser le mot-clé link quand tu appelles $plxShow->artTitle();
    [== PHP ==]
    <?php while($plxShow->plxMotor->plxRecord_arts->loop()): ?>
    	<article class="article" role="article" id="post-<?php echo $plxShow->artId(); ?>">
    	        <a href="#openModal">	
    			<?php $plxShow->artTitle('link'); ?>
    			<?php $plxShow->artChapo(''); ?>		
    		</a>
    	</article>
    <?php endwhile; ?>
    
    <div id="openModal" class="modalDialog">
    	<div>
    		<a href="#close" title="Close" class="close">X</a>
                    <iframe id="frameModal" src=""></iframe>
    	</div>
    </div>
    
    
    Après avec Javascript, il te faut gérer l'événement 'click' sur le titre de l'article pour modifier le src de l'iframe #frameModal.

    Note que le template peut être différent pour chaque article.
Connectez-vous ou Inscrivez-vous pour répondre.