By: Philty
Date: 2005-05-01
Time: 19:58
|
[onshow;when...] bug?
Salut Skroll29,
dans le template suivant, je veux que le lien "Lire la suite" s'affiche seulement si la news contient une 2ème partie (News.text2) et doit s'effacer lorsque la news complète est affichée (News.text + News.text2).
Le problème (bug?) est:
si News.text2='tutu' le lien s'affiche
si News.text2='tétu' le lien ne s'affiche pas
TBS version: 2.01
news.html:
<table>
<tr>
<td>[News.titre;block=table]</td>
</tr>
<tr>
<td>[News.text]</td>
</tr>
<tr>
<td>[onshow;when [var.ReadNewsId]='';block=tr][onshow;when [News.text2]!='';block=tr]<a href="[var..script_name]?read=[News.id]">Lire la suite</a></td>
</tr>
<tr>
<td>[onshow;when [var.ReadNewsId]=[News.id];block=tr][News.text2]</td>
</tr>
</table>
|
news.php:
$ReadNewsId=(isset($_GET['read']) and is_numeric($_GET['read']))? $_GET['read']:false;
if ($ReadNewsId) { // Affichage d'une news complète
$querry='SELECT * FROM `my_news` WHERE `id`=\''.$ReadNewsId.'\' LIMIT 1';
}
else { // Affichage de toutes les news
$querry='SELECT * FROM `my_news` ORDER BY `date` DESC';
}
$RecCnt = $TBS->MergeBlock('News',$cnx_id,$querry,$PageSize,$PageNum,$RecCnt);
|
|
By: Skrol29
Date: 2005-05-03
Time: 01:56
|
Re: [onshow;when...] bug?
Salut Philty,
Ce qui se passe c'est que ton texte "tétu" est converti en "tétu" lors de la fusion. Du coup, ça casse les paramètres de la balise [onshow] qui l'englobe.
Tu auras plus de chance avec
[onshow;when [News.text2;htmlconv=no+esc]!='';block=tr]
Mais ça n'est pas encore parfait, car ton texte peut contenir encore pas mal de choses embêtantes pour la balise encapsultante.
Pour avoir un truc qui marche au poil, le mieux est d'utiliser un paramètre 'onsection' ou 'onformat' pour vérifier côté PHP que le texte est bien vide.
|
By: Philty
Date: 2005-05-07
Time: 10:15
|
Re: [onshow;when...] bug?
Avec un param. 'onsection' c'est pile poil !
Merci Skroll29
|
|
Posting in progress.
Please wait...
|