Block Guestbook< Sujet précédent  Sujet suivant >
Index du Forum -> DEVELOPPEMENT -> Blocs
AuteurMessage
France.gif AntareS-DK
Member



Messages : 363
Inscrit(e) le: 13/11/2010
Block Guestbook
Bonjour,

Toujours dans la réalisation de mon site mon thème prend sacrément forme, j'ai donc besoin d'un block qui a priori n'existe pas dans NK, c'est celui du livre d'or.

Bon j'ai modifié le fichier lang et j'ai mis un titre de block un peu différents mais ca reste le Guestbook,
j'aurais aimé afficher dans un blok un message au hasard tiré du livre d'or.

Objectif :
Afficher un block (à gauche/droite ou centre/bas) avec un l'interieur un seul message au hasard parmis le livre d'or.

En fait ca correspond à "L'avis des clients"

exemple :
L'avis des clients
Robert a écrit :
C'est super votre connerie mais c'est quoi le but ?
Lire la suite

j'ai donc réaliser un blok.php dans le module "Guestbook", y'a donc une tartine de code comme d'hab avec le :
if (!defined...)
if ($active ==3||...)

puis à l'interieur ma petite fonction
 

Voilà j'ai prévu de pouvoir style (d'après le thème) les différents éléments, ou via le fichier style présent dans le répertoire Guestbook.

Pour expliquer un peu je compte le nombre de message dans le livre, puis php tire au sort un numéro compris entre 1 et le nombre de message si 100 message alors php tire entre 1 et 100 ce qui affichera alétoirement un message du livre d'or.

Tout cela est en cours de developpement car je me pose quelques questions {#Very Happy} alors si vous avez les réponses n'hésitez pas !

Je n'ai jamais rempli un livre d'or (beaucoup de message) y'a t'il une limite d'affichage du nombre de message ?

Comment se passe l'affichage des messages si y'en a 200 ? y'a un accenseur immense ou c'est un système de page ?

J'aimerais mettre en fait le liens "lire la suite" qui pointe vers le message complet du livre d'or (car je vais mettre une fonction pour extraire qu'une partie du commentaire) j'ai donc besoin de savoir comment je vais faire mon liens

ou est ce que je le laisse en index.php?file=Guestbook ?

Si vous connaissez un blok plus évolué compatible avec la dernière version de NK et qui fait exactement ce dont j'ai besoin n'hésitez pas non plus :)

PS : il est en cours de dév il fonctionne donc avec le peu de code mais il me reste certaines infos à mettre en place et d'autre dont je n'aurais peut etre pas besoin résultat certains champs sql seront pas forcément là demain :)


Edité par antares59 le 18/05/2011 00:52

Vous avez un problème : Si au bout de cinq minutes vous n'avez pas compris comment cela fonctionnait, réessayez plus tard !
Si plus tard vous ne comprenez toujours pas, arrêter complètement c'est que c'est vous le problème.

Version Nuked Klan : 1.7.9

Posté le 18/05/2011 - 00:26:04   Revenir en haut | Permalien
Belgium.gif PePeRePeRveRs
Vice-Président Association

Messages : 3672
Inscrit(e) le: 13/06/2004
RE : Block Guestbook
Yop,

pour prendre un enregistrement au hasard, tu peux faire un ORDER BY RAND() LIMIT 1 directement dans ta requête.

Pour couper tes commentaires trop longs, tu peux faire ceci:

if (strlen($comment) > 40)  //si le commentaire dépasse 40 caracteres
{
    echo substr($comment, 0, 40) . "..."; // affiche les 40 premiers caracteres suivi de ...
}
else // sinon
{
    echo $comment; // affiche tout le commentaire
}

Dans l'exemple ci-dessus, tu peux mettre un lien 'lire la suite" après les points de suspension, par exemple.

Enfin, pour le nombre de messages par page, tu peux le définir dans les préférences du module ;)

Avant d'ouvrir un sujet, n'oubliez pas de lire le règlement et faire une recherche sur le forum !

Posté le 18/05/2011 - 01:23:49   Revenir en haut | Permalien
Belgium.gif Sekuline
Ancien

Messages : 3349
Inscrit(e) le: 04/09/2008
RE : Block Guestbook
Passe de temps en temps sur la documentation de PHP. T'apprendra pas mal de petite fonction utile.

PS : J'adore le codage en DIV .. GG! à toi. J'ai également revue certains blocks pour la RC5.3 mais beaucoup de tableaux = beaucoup de temps à consacré.

développeur web auto-didacte (xHTML, HTML5, CSS3, PHP, MySQL, JS : jQuery)

Espace de stockage portable ! Sekuline

Posté le 18/05/2011 - 02:18:40   Revenir en haut | Permalien
France.gif AntareS-DK
Member



Messages : 363
Inscrit(e) le: 13/11/2010
RE : Block Guestbook
Bonjour,

voici donc le code pour la création du block Guestbook (c'est uniquement pour le block gauche ou droite)

code

Voilà j'ai donc fait le tirage au sort d'après le code que tu m'avais donné, il s'effectue directement dans la requête. Par contre j'ai lu un peu partout que ce genre de requête n'était pas très optimisé et que c'était donc une méthode un peu déconseillée.

J'avais pensé à reprendre ma requette et charger tout les jeux d'enregistrement dans un array puis de faire un randomise sur le contenu de l'array, j'aurais qu'une seule requette qui resterait un simple select et un while derrière pour remplir le tableau. Qu'en pensez vous ?

J'ai également fait l'extraction du texte avec la fonction substr comme tu me l'as indiqué, j'ai par contre ajouter la selection du dernier espace afin d'éviter la coupure d'un mot vu qu'il ni y'a pas de césure automatique.

J'ai également un petit problème sur le liens lire la suite, je ne pense pas que cela soit faisaible voici mon problème...

J'aimerais que si le texte est tronqué, un liens lire la suite apparait, ce dernier pointerait vers le message dans le livre d'or ! Je me voyais déjà parti avec un lien dans le style ?file=Guestbook&id=$id :)
si le texte n'est pas tronqué alors ce serait un liens "Lire d'autres avis" qui pointerait simplement vers la première page du livre d'or !

Vous me suivez ?
j'ai donc posté plusieurs tests dans mon guestbook, j'ai était mettre le paramètre nombre de message par page à deux.

Puis j'ai un grand vide, non pas sentimental mais mes neuronnes bloquent, si mon message se trouve sur la page 2,  comment faire pointer mon liens "lire la suite" vers cette page ?

L'objectif est éviter une modification du module Guestbook, mon blok est un simple fichier blok.php et n'apporte qu'un tout petit plus au module je n'ai pas envie de partir dans une retouche de ce dernier sinon en cas de maj cela serait lourd à gerer :D

C'est pour cela que je pense que ce n'est pas possible, le module guestbook n'a pas cela de prévu dans ces fonction pour afficher un seul message.

Si ce n'est pas réalisable il ne me reste plus qu'a laisser un liens "lire les autres avis".
puis de créer le code pour les blocks centre et bas.

merci bye



Vous avez un problème : Si au bout de cinq minutes vous n'avez pas compris comment cela fonctionnait, réessayez plus tard !
Si plus tard vous ne comprenez toujours pas, arrêter complètement c'est que c'est vous le problème.

Version Nuked Klan : 1.7.9

Posté le 19/05/2011 - 17:22:11   Revenir en haut | Permalien
France.gif yurty
Posting Freak



Messages : 1006
Inscrit(e) le: 23/02/2008
RE : Block Guestbook
Il existe !

http://vistel.free.fr/nk_ed/index.php?file=Download&op=categorie&cat=3

++

 

 

Posté le 21/05/2011 - 15:34:50   Revenir en haut | Permalien
France.gif AntareS-DK
Member



Messages : 363
Inscrit(e) le: 13/11/2010
RE : Block Guestbook
Salut !

Merci pour le liens, par contre on est obligé de s'inscrire alors si un des membres de NK possède ce block je suis prenneur, le miens est treminé comme on peut le voir ici :

http://www.nuked-klan.org/index.php?file=Forum&page=viewtopic&forum_id=13&thread_id=581

Par contre j'aimerais voir le block quand même, voir la méthode utilisée et peut être voir des petites choses auxquelles je n'aurais pas pensé.

Comme il faut s'inscrire sur le site afin de télécharger le fichier et que dont je n'ai pas envie pour seulement un seul fichier. Dans le but d'éviter de polluer innutillement leurs base de données avec un membre qui n'aura pas trop de temps pour se consacrer à la vie sur leur site.

Voilà, sinon je ferais sans c'est pas bien grave.

merci bye

Edité par antares59 le 21/05/2011 20:24

Vous avez un problème : Si au bout de cinq minutes vous n'avez pas compris comment cela fonctionnait, réessayez plus tard !
Si plus tard vous ne comprenez toujours pas, arrêter complètement c'est que c'est vous le problème.

Version Nuked Klan : 1.7.9

Posté le 21/05/2011 - 20:24:00   Revenir en haut | Permalien
Belgium.gif PePeRePeRveRs
Vice-Président Association

Messages : 3672
Inscrit(e) le: 13/06/2004
RE : Block Guestbook

Citation par antares59 :
Puis j'ai un grand vide, non pas sentimental mais mes neuronnes bloquent, si mon message se trouve sur la page 2,  comment faire pointer mon liens "lire la suite" vers cette page ?

En repérant la position du message et en servant de la variable $nuked['mess_guest_page'].

Si ton message est le 12ème et que tu affiches 10 messages par par, tu sais qu'il est sur la page 2 ;)


Avant d'ouvrir un sujet, n'oubliez pas de lire le règlement et faire une recherche sur le forum !

Posté le 22/05/2011 - 18:11:21   Revenir en haut | Permalien
France.gif AntareS-DK
Member



Messages : 363
Inscrit(e) le: 13/11/2010
RE : Block Guestbook
ouép en effet connaissant l'ordre de tri, le nombre de message par page, dès fois on est co* ... :D

j'aime pas les trucs tout bête je les vois rarement !

:D

Merci pour le téléguidage
du coup je vais pouvoir faire mon liens "lire la suite" et pointer sur la bonne page cool


Edité par antares59 le 23/05/2011 00:23

Vous avez un problème : Si au bout de cinq minutes vous n'avez pas compris comment cela fonctionnait, réessayez plus tard !
Si plus tard vous ne comprenez toujours pas, arrêter complètement c'est que c'est vous le problème.

Version Nuked Klan : 1.7.9

Posté le 23/05/2011 - 00:21:44   Revenir en haut | Permalien