Fork me on GitHub




« 1 (2)


Re: Bloc system_block_users.html : classement alphabétique + affichage dans un tableau í  2 colonnes
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
C'est peut-être une version retouchée alors, je ne me souviens plus, je l'ai prise sur un site que je gère, mais à l'époque, je ne notais rien de ce que je faisais.

Posté le : 22/11/2008 13:14
Partager Twitter Partagez cette article sur GG+
Re: Bloc system_block_users.html : classement alphabétique + affichage dans un tableau í  2 colonnes
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Burning, voici un exemple de code pour system_block_topusers.html

<{assign var=nbCols value=2}> 
<{
counter start=0 assign="cpt"}>
<
table
<{foreach 
item=user from=$block.users}>
    <{if (
$cpt%$nbCols == 0)}> 
    <
tr class="<{cycle values='even,odd'}>" valign="middle">
    <{/if}>
        <
td align="center">
        <{if 
$user.name != ""}>
            <{if 
$user.avatar != ""}>
            <
img src="<{$user.avatar}>" alt="" width="32" /><br />
            <{/if}>
        <
a href="<{$xoops_url}>/userinfo.php?uid=<{$user.id}>"><{$user.name}></a>
        <{else}>
        &
nbsp;
        <{/if}>
        </
td>
    <{if (
$cpt%$nbCols==($nbCols-1))}>
    </
tr
    <{/if}>
<{
counter}>
<{/foreach}>
</
table>


Ce code affiche les résultats sur 2 colonnes (tu peux choisir le nombre de colonnes dans la première ligne du code).
Par contre, pour le moment, ça s'affiche sous cette forme :

1 | 2
3 | 4
5 | 6

Je vais voir pour créer un autre type d'affichage :

1 | 4
2 | 5
3 | 6

Posté le : 22/11/2008 14:40
Partager Twitter Partagez cette article sur GG+
Re: Bloc system_block_users.html : classement alphabétique + affichage dans un tableau í  2 colonnes
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Toujours avec le même ordre d'affichage que précédemment (ce n'est pas encore parfait).

En me basant sur le travail de cette page :
http://smarty.incutio.com/?page=SmartyColumnsTutorial

<{assign var="numCols" value=2}><!-- nombre de colonnes à afficher -->
<
table>
    <
tr class="<{cycle values='even,odd'}>" valign="middle">
    <{
assign var="col" value="0"}>
    <{
section name=user loop=$block.users}>
        <{if 
$col == $numCols}>
            </
tr><tr class="<{cycle values='even,odd'}>" valign="middle">
            <{
assign var="col" value="0"}>
        <{/if}>
        <
td align="center">
        <{if 
$block.users[user].avatar != ""}>
        <
img src="<{$block.users[user].avatar}>" alt="" width="32" /><br />
        <{/if}>
        <
a href="<{$xoops_url}>/userinfo.php?uid=<{$block.users[user].id}>"><{$block.users[user].name}></a>
        </
td
        <{
assign var="col" value="`$col+1`"}>
    <{/
section}>
    <{
assign var="reminder" value="`$numCols-$col`"}>
    <{
section name=emptyElement loop=$reminder}>
        <
td align="center">&nbsp;</td>
    <{/
section}>
    </
tr>
</
table>

Posté le : 23/11/2008 12:52
Partager Twitter Partagez cette article sur GG+
Re: Bloc system_block_users.html : classement alphabétique + affichage dans un tableau í  2 colonnes
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Je suis tombé sur une page sympa :
http://smarty.incutio.com/?page=HtmlTableAdvPlugin

J'ai donc créé un fichier block.html_table_adv.php (dans /class/smarty/plugins/)

Et j'ai testé ce code dans le fichier system_block_topusers.html

<{html_table_adv cols="2" inner="right" loop=$block.users}><a href="<{$xoops_url}>/userinfo.php?uid=[[id]]">[[name]]</a><{/html_table_adv}>


Et ça me donne le résultat ci-joint.
On peut choisir l'ordre d'affichage des données (droite à gauche, haut en bas), et un tas d'autres paramètres.

Là c'était juste un premier test pour assimiler le fonctionnement de ce plugin.
Il y a encore des bugs j'ai l'impression, puisque que ça me donne 2 cellules en trop (dont une avec [[name]] )

Edit 15h30 : ah je tombe sur ça qui semble plus récent :
http://smarty.activeventure.org/language.function.html.table.html

Je vais donc chercher de ce côté, mais j'ai bon espoir d'avoir le résultat que tu attends, avec une syntaxe très simple et modulable !

Très sympa smarty !

Attacher un fichier:



png  2008-11-23_152520.png (1.84 KB)
5661_49296856e8394.png 438X84 px

Posté le : 23/11/2008 15:27
Partager Twitter Partagez cette article sur GG+
Re: Bloc system_block_users.html : classement alphabétique + affichage dans un tableau í  2 colonnes
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Voilà du nouveau !
http://smarty.incutio.com/?page=table_foreach

J'ai donc créé un fichier block.table_foreach.php (dans /class/smarty/plugins/)
Avec comme contenu le script du lien ci-dessus.

Ensuite, j'utilise le code suivant dans le fichier system_block_topusers.html

<{table_foreach item=user from=$block.users cols="2" inner="right" tr_attr='class="even"' td_attr='align="center"'}>
<{if 
$user.avatar != ""}><img src="<{$user.avatar}>" alt="" width="32" /><br /><{/if}>
<
a href="<{$xoops_url}>/userinfo.php?uid=<{$user.id}>"><{$user.name}></a>
<{/
table_foreach}>


Ce qui me donne le résultat attaché en pièce jointe.
4 lignes de code au lieu de plus de 20 pour mes tests précédents !

On peut changer facilement par exemple, le nombre de colonnes (je joins également un test sur 3 colonnes pour vous montrer le rendu).

On peut limiter aussi le nombre de liges affichées.

On peut changer le sens de lecture du tableau (haut en bas, gauche à droite, etc).

1 | 2
3 | 4
5 | 6

1 | 4
2 | 5
3 | 6

3 | 6
2 | 5
1 | 4

4 | 1
5 | 2
6 | 3

Voir dans tous les cas cette page pour les variables possibles.

Attacher un fichier:



png  2008-11-23_174107.png (2.54 KB)
5661_492987a45de6f.png 396X121 px

png  2008-11-23_174226.png (2.33 KB)
5661_492987f305811.png 390X88 px

Posté le : 23/11/2008 17:43
Partager Twitter Partagez cette article sur GG+
Re: Bloc system_block_users.html : classement alphabétique + affichage dans un tableau í  2 colonnes
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
Blueteen,

je commence à en avoir marre, tu es trop balèze et tout ce que tu fais est super génial...

Pour la x ième fois encore, je te remercie pour toutes ces astuces tellement utiles.

J'ai pris la liberté de créer un espace "astuces xoops" chez les nullos (à vie ) et j'ai préparer ton astuce toute prête à être utilisée... j'attend ta bénédiction (ton accord) pour la diffusée.

ASTUCE DE BLUETEEN

En tout cas, super chouette

j'ai fais pareil pour le block "les nouveaux nullos":
http://nullos.centralexpresservice.com/ tout en bas de la page

Merci et bonne soirée

Posté le : 23/11/2008 19:34

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+
Re: Bloc system_block_users.html : classement alphabétique + affichage dans un tableau í  2 colonnes
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Mais de rien, diffuse tant que tu veux
Tout ce que je poste ici est vraiment à partager.
Et le fait que ce soit utilisé concrètement est ma récompense !
Surtout que là je n'ai fait qu'utiliser une fonction existante (bon ça a pris un peu de temps, pour parcourir des tas de pages, et des tas de tests également).
Ca rend bien sur ton site en tout cas
Bonne soirée !

PS : après l'affichage est améliorable, si l'on veut ajouter un en-tête aux colonnes ou une numérotation par exemple.

Posté le : 23/11/2008 19:59
Partager Twitter Partagez cette article sur GG+
Re: Bloc system_block_users.html : classement alphabétique + affichage dans un tableau í  2 colonnes
Guest_
MERCI !!

Posté le : 27/11/2008 22:09
Partager Twitter Partagez cette article sur GG+
Re: Bloc system_block_users.html : classement alphabétique + affichage dans un tableau í  2 colonnes
Régulier
Inscrit: 17/04/2005 10:25
De Belgique
Messages: 173
Merci pour cette astuce


Au passage j'ai toujours ce probleme avec topuser exposé ici:

https://www.frxoops.org/modules/newbb/ ... id=150516#forumpost150516

Posté le : 17/12/2008 18:47
Partager Twitter Partagez cette article sur GG+
Re: Bloc system_block_users.html : classement alphabétique + affichage dans un tableau í  2 colonnes
Newbie
Inscrit: 28/01/2010 16:36
Messages: 11
Bonjour

Merci pour les actuces. J'ai fait les modifs, en local c'est OK - j'ai bien les 4 colonnes d'affichage que je veux.
Sur mon site hébergé, il m'en affiche 6 ???

J'ai le même fichier system_block_topusers.html des deux coté... où est-ce que je devrais chercher la différence ?

Merci pour votre aide

Posté le : 01/04/2010 13:09
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 (2)



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

84 Personne(s) en ligne (57 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 1 | Invité(s): 83 | babouille, Plus ...