php dans LastArtList

Bonjour,
Un petit problème de code : je cherche à insérer une instruction php dans la fonction LastArtList mais je ne sais pas comment m'y prendre.
[== Indéfini ==]
						<?php $plxShow->lastArtList('
							<li>
								<a href="##art_title">
								<img src="#img_url">
								</a>
								<div class="sp-infos" id="#art_title">	
									<div>						
										<img src="#img_url">
										<h2>#art_title</h2>
										<p><em>#art_content</em></p>
										
										<p><a href="./index.php?tag/#art_title">Doc. associés</a></p>
										§§§ Ici je voudrais utiliser un str_replace sur #art_title afin de remplacer les espaces par des tirets comme pour les dénominations d'url dans les articles §§§
									</div>							
							</li>',5,33) 
						?>

merci

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    août 2018 modifié
    Bonjour,

    Il te faut modifier la fonction plxShow:lastArticle() comme suit pour le tag #art_title :
    [== PHP ==]
    $row = str_replace('#art_title',strtr(plxUtils::strCheck($art['title'], ' ', '-')),$row);
    
  • Merci de ta réponse mais ça ne colle pas car j'ai besoin de la forme initiale au début et modifiée dans un deuxième temps.
    Pour résoudre mon problème, j'ai bidouillé avec les champs traités par la fonction LastArtList : le faux titre avec les tirets dans le champs art_titre et le vrai titre dans le champs art_chapo. Après ce n'est plus qu'une question d'affichage à mettre au point et ce n'est pas bien compliqué. Ca fonctionne même si cela n'est pas très élégant.
    Merci encore de t'être penché sur mon problème.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Effectivement ce n'est pas très élégant :
    * Les blogs qui ne mettent pas de chapo à leurs articles sont détestables et quand tu tombes sur des bloggueurs qui publient des articles par paquet de 1000, on dit BASTA ! et on passe à autre chose et tant pis pour les quelques articles dignes d'intérêt
    * Si toi aussi tu publies les articles par paquet de 1000, passer tous les articles pour appliquer ton astuce va te prendre "un temps de dingue"

    Quitte à bidouiller, autant ajouter un nouveau token, par exemple #art_title1, à la fonction plxShow::LastArtList() :
    [== PHP ==]
    $row = str_replace('#art_title',plxUtils::strCheck($art['title']),$row);
    $row = str_replace('#art_title1',strtr(plxUtils::strCheck($art['title'], ' ', '-')),$row);
    
    Il suffira juste à en tenir compte à la prochaine mise à jour de PluXml
  • Excellente cette idée de rajouter un token. Pour la petite histoire, art_title1 ne donnait rien de bon (affichage du titre non formaté+1) pas mais j'ai gardé l'idée en créant ceci :

    $row = str_replace('#art_fakeurl',plxUtils::strCheck($art),$row);

    ... et là tout roule. Voilà mon problème résolu plus proprement.
Connectez-vous ou Inscrivez-vous pour répondre.