Fork me on GitHub






Couper un texte trop long via ->[...]
Aspirant
Inscrit: 29/07/2005 14:27
Messages: 58
Bonsoir,

J'essaye de mettre en place un systeme qui permettrai de remplacer la fin des textes trop long par des pointillés. J'ai essayé de mettre ce code dans le fichier neuwbb_new.php, mais je n'ai pas eu le résultat attendu. La page concerné (l'index) affiche blanc. C'est précisément le titre du "top des topics" que j'essaye de modifier.

$length 8;

if(
strlen($topic['title'] > $length)
    echo 
substr($topic['title'], 0$length).'...';
else
    echo 
$topic['title'];


Je pense ne pas mettre celui-ci au bon endroit. Mais je ne sais ou le mettre.
Je n'ai pas trouver de sujet similaire ou de documentations.

Auriez vous une idée ?


Merci d'acance et Bonne nuit !

Posté le : 06/12/2006 01:55
Partager Twitter Partagez cette article sur GG+
Re: Couper un texte trop long via ->[...]
Guest_
Essayes la fonction Xoops xoops_substr définie dans /include/functions.php

Posté le : 06/12/2006 09:15
Partager Twitter Partagez cette article sur GG+
Re: Couper un texte trop long via ->[...]
Aspirant
Inscrit: 29/07/2005 14:27
Messages: 58
J'ai, essayé ceci dans la page include/function.php :

function xoops_substr($topic$length)
{
        if(
strlen(($topic) >= $length)
        {
                
$topic substr($topic,0,$length)."...";
        }
        return 
$topic;
}
xoops_substr("title, 8");


C'est malheureusement pour moi foireu ^^ .
J'ai un message d'erreur "parse error" au niveau de mon 2eme "{"

Posté le : 06/12/2006 15:40
Partager Twitter Partagez cette article sur GG+
Re: Couper un texte trop long via ->[...]
Admin Frxoops
Inscrit: 05/03/2005 05:20
De Vaucluse
Messages: 960
Bonjour,
Citation :
if(strlen(($topic) >= $length)
tu n'aurais pas une parenthése ouvrante en trop par hasard..

Posté le : 06/12/2006 20:59

Open in new window

Xoops 2.5.7.2 - Debian 8.2 - Apache 2.4.10 - MySQL 5.5.47 - Php 5.6.17
Partager Twitter Partagez cette article sur GG+
Re: Couper un texte trop long via ->[...]
Aspirant
Inscrit: 29/07/2005 14:27
Messages: 58
Effectivement :)

J'ai donc enlevé le parenthese, j'ai un message qui me dit que le fonction xoop-substr ne êut etre appliqué 2 fois (elle y etait deja, je ne l'avait pas vu.

J'ai donc renommé la fonction en xoops-ptipoints, la page s'ouvre normalement mais il ne se passe rien ^^' . Je ne comprend vraiment pas.

Posté le : 07/12/2006 14:25
Partager Twitter Partagez cette article sur GG+
Re: Couper un texte trop long via ->[...]
Régulier
Inscrit: 06/01/2006 23:55
Messages: 379
comment appels tu ta fonction?

Posté le : 07/12/2006 23:26
Partager Twitter Partagez cette article sur GG+
Re: Couper un texte trop long via ->[...]
Aspirant
Inscrit: 29/07/2005 14:27
Messages: 58
function xoops_ptipoints($topic$length)
{
        if(
strlen($topic) >= $length)
        {
                
$topic substr($topic,0,$length)."...";
        }
        return 
$topic;
}
xoops_substr("title, 8");

Posté le : 10/12/2006 13:10
Partager Twitter Partagez cette article sur GG+
Re: Couper un texte trop long via ->[...]
Régulier
Inscrit: 06/01/2006 23:55
Messages: 379
function xoops_ptipoints($topic$length)
{
        if(
strlen($topic) >= $length)
        {
                
$topic substr($topic,0,$length)."...";
        }
        return 
$topic;
}

ta fonction est bonne normalement.

sinon ta fonction tu es cense l'appeler comme cela
soit
$toto xoops_ptipoints('bonjour, vous allez bien'10);
echo 
$toto;

ou
$toto 'bonjour, vous allez bien';
$toto xoops_ptipoints($toto10);
echo 
$toto;

ou encore
$toto 'bonjour, vous allez bien';
xoops_ptipoints($toto10);
echo 
$toto;

Normalement ca, ca marche en php5 sans aucun pb
la derniere par contre en 4 non c sur, apres je me souviens pas assez des differences entre le 4 (que j'ai jamais pratique) et le 5.

par contre ca :
xoops_substr("title, 8");
je sais pas ce que ca va te donner, vu que tu as passe juste une chaine de caractere, tu n'as pas de debut ni de longueur... je me demande meme si ca te sort pas une erreur.

edit kris : correction balise "code", signe € à la place du cod"e"

Posté le : 11/12/2006 21:36

Edité par kris sur 12/12/2006 02:15:06
Partager Twitter Partagez cette article sur GG+
Re: Couper un texte trop long via ->[...]
Aspirant
Inscrit: 29/07/2005 14:27
Messages: 58
Merci Garrath pour ton aide :)
J'ai beau chercher, je ne sais ou appeler la fonction étant donnée que le titre qui doit etre "pointillé" est appelé par un smarty dans un template.

J'ai essayé de le mettre dans le template (qui ne tente rien n'a rien ^^)
<?php $toto xoops_ptipoints('<{$topic.title}>'10);
echo 
$toto;?>

Mais bien évidement il n'y a rien qui s'affiche. Dois-je creer un nouveau smarty pour lui appliquer la fonction? ou je dois l'appeler dans un fichier qui m'ai échappé ? (je prefererai la 2eme solution).

Merci encors pour vos aides :)

Posté le : 16/12/2006 20:56
Partager Twitter Partagez cette article sur GG+
Re: Couper un texte trop long via ->[...]
Régulier
Inscrit: 06/01/2006 23:55
Messages: 379
Ok tu cherches donc a modifier une donnee affiché par smarty. A priori deja tu connais son nom c'est topic.title .

Il faut que tu trouves ou cette donnée est initialisée et que tu la changes.
Tu as 2 solutions :
- soit c'est dans un bloc de cote dans ce cas, il suffit que tu saches quel est le nom du bloc et que tu regardes dans le fichier xoopsversion du module quel est la fonction qui initialise le bloc. Et ensuite tu n'as plus qu'a trouver dans cette fonction ou est initialisée le title.
- soit c'est l'affichage du module, donc la tu affiches sur ton site la page que tu veux modifier, tu regardes l'adresse a quoi ca correspond et tu n'as plus qu'a aller chercher le fichier php (en general index.php mais bon apres ca depend si ce que tu affiches et sur la premiere page du module...) qui correspond a ta page et a suivre le code jusqu'a ce que tu trouves ou est initialise ta donnee.

A savoir aussi que c'est gere par defaut ce truc sur IE 6 avec la propriete css suivante
text-overflowellipse;

Aucune idee si ce truc sympathique a ete repris sur FF 2.0?

Posté le : 22/12/2006 17:35
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



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

16 Personne(s) en ligne (8 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 16 | Plus ...