Categories > TinyButStrong general (FR) >

PlugIn TBS_BYPAGE saute 1 élément sur 2 ??

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: TiTi
Date: 2006-06-04
Time: 00:56

PlugIn TBS_BYPAGE saute 1 élément sur 2 ??

Bonsoir,

if (isset($_GET['p']))
        $PageNum = $_GET['p'];
    else
        $PageNum = 1;

    if (isset($_GET['RecCnt']))
        $RecCnt = intval($_GET['RecCnt']);
    else
        $RecCnt = -1;
    $PageSize = 32;


.... création de $galiste....

$TBS->PlugIn(TBS_BYPAGE,$PageSize,$PageNum,$RecCnt);
$RecCnt = $TBS->MergeBlock('galiste',$galiste);

... code navbar....

$galiste contient le nom d'un fichier d'image et le alt (message au survol de l'image) correspondant. Les images sont toutes de la forme XXX.jpg avec X un chiffre, la première est 001, la deuxième 002, etc.
Le tableau généré est correctement rempli depuis la bdd, j'ai fait un affichage juste avant l'appel du plugin TBS_BYPAGE.
Mon tableau est créé comme ceci (je me suis pas gourré ici je le sais) : $galiste[]=array('url' => $url, 'alt' => $alt); dans un while.

il se produit une erreur étrange : une image sur deux est affichée !
je ne vois que les numéros impairs, je me suis donc dis qu'un élément de $galiste sur deux est sauté...

je ne vois vraiment pas d'où ca peut venir. En tous cas ca ne viens pas d'une extension type adblock, j'ai testé avec plusieurs navigateurs.
Ca ne vient pas de $galiste qui est correct, j'ai affiché son contenu sans problème....

aaaaaaaaaaaahhhhhhhhhhhhhh
j'ai trouvé -_- et ca fout la haine !

voilà le code du template (un peu tordu je sais...)
<div class="cvert" align="center">
        <a href="javascript:image('[var.cat]','[var.id]','[galiste.alt]')" title="[galiste.alt;htmlconv=no]">[onshow;block=(a); when [var.cat]!='avatars']<img src="[galiste.url]" hspace="2" vspace="2" alt="[galiste.alt;htmlconv=no;block=(a)]" class="pics" /></a>
        <span id="[galiste.alt;block=(span)]">[onshow;block=(span); when [var.cat]='avatars']<img src="[galiste.url]" hspace="2" vspace="2" alt="[galiste.alt;htmlconv=no]" class="pics" /></span>
    </div>

j'étais en train de le lire et je me suis dit que onload était mieux que onshow car sa éviterait une boucle...
et bah ca à résolu mon soucis.

donc si on fait un mergeblock et que dans le template on utilise deux fois le "block=.." (avec le même paramètre?) bah sa saute un enregistrement sur deux, pas cool....

un commentaire skrol ?
By: TiTi
Date: 2006-06-04
Time: 01:15

Re: PlugIn TBS_BYPAGE saute 1 élément sur 2 ??

Autre chose :

You can use parameter bmagnet (which is a block's parameter supported by TBS) to delete the navigation bar when there is only one page to display.

=> ne marche

(avec ceci :)
<div class="cbleu" align="center">[onshow;block=(div); when [var.aff_page_view]=0]
        <a href="galeries.php?cat=[var.cat]&id=[var.id]&p=[nv2.prev;endpoint;magnet=a;mtype=m*m]"><strong>&lt;</strong></a>|<span><a href="galeries.php?cat=[var.cat]&id=[var.id]&p=[nv2.page;block=span;navpos=centred]"><strong>[nv2.page;bmagnet=div]</strong></a>|</span><span><span class="important">[nv2.page;block=((span));currpage]</span>|</span><a href="galeries.php?cat=[var.cat]&id=[var.id]&p=[nv2.next;endpoint;magnet=a;mtype=m*m]"><strong>&gt;</strong></a>       
    </div>

en revanche si je vide mon tableau sa marche bien :)
any idea?
By: Skrol29
Date: 2006-06-05
Time: 10:41

Re: PlugIn TBS_BYPAGE saute 1 élément sur 2 ??

Salut Titi,

L'affichage un sur deux est normal : quand tu définies plusieurs sections standards d'un bloc (block=xxx avec le même nom de bloc), alors TBS s'en sert pour l'affichage alertnatif.
Si tu veux étendre la limite d'un bloc sur plusieurs balises, il faut utiliser block=x+y+z...

Les deux blocs suivants sont différents:
1 : alertnatif
<a> [galiste.url;block=a] </a>
<span> [galiste.alt;block=span] </span>
2 : étendue
<a> [galiste.url;block=a+span] </a>
<span> [galiste.alt] </span>
By: TiTi
Date: 2006-06-05
Time: 16:12

Re: PlugIn TBS_BYPAGE saute 1 élément sur 2 ??

ok merci.
pour les blocks étendus je les utilise souvent, en revanche je ne savais pas pour les blocs alternatifs... et pourtant c'est marqué noir sur blanc dans le manuel !
Ce n'est pas ce dont j'ai besoin ici mais ok maintenant je connais.

Par contre le soucis du bmagnet pour le plugin NavBar me dérange plus...
$TBS->PlugIn(TBS_BYPAGE,$PageSize,$PageNum,$RecCnt);
    $RecCnt = $TBS->MergeBlock('galiste',$galiste);
    $options=array('navsize' => '50'); // pas plus de 50 chiffres dans la navbar (sa suffit amplement et puis après sa rentre plus...)
    $TBS->PlugIn(TBS_NAVBAR,'nv',$options,$PageNum,$RecCnt,$PageSize);
    $TBS->PlugIn(TBS_NAVBAR,'nv2',$options,$PageNum,$RecCnt,$PageSize);

<div class="cbleu" align="center">[onshow;block=(div); when [var.aff_page_view]=0]
        <a href="galeries.php?cat=[var.cat]&id=[var.id]&p=[nv.prev;endpoint;magnet=a;mtype=m*m]"><strong>&lt;</strong></a>|<span><a href="galeries.php?cat=[var.cat]&id=[var.id]&p=[nv.page;block=span;navpos=centred]"><strong>[nv.page]</strong></a>|</span><span><span class="important">[nv.page;block=((span));bmagnet=(div);currpage]</span>|</span><a href="galeries.php?cat=[var.cat]&id=[var.id]&p=[nv.next;endpoint;magnet=a;mtype=m*m]"><strong>&gt;</strong></a>   
</div>
le même pour  'nv2'

j'ai fait un "echo $RecCnt;exit;" avant la fin => $RecCnt==1
sauf que je vois toujours les navbar, WTF ?
elle ne contiennent qu'une seule page, sans les flèches de côté

si je fais (juste avant l'appel du plugin navbar)
if($RecCnt<=$PageSize)
    $RecCnt=0;
sa marche... je ne les vois plus
enfin, je ne les vois plus du tout lol même si il y'a plus de deux pages :-/

bmagnet est un fake ou j'ai un prblm dans mon code de template ?

Merci