#INTRODUCTION en gardant la mise en forme

Bonjour,

Je voudrais conserver le formattage dans le texte généré par #INTRODUCTION. Il me semble avoir vu un site comme ça mais je ne retrouve plus le site. Est-ce que c'est possible et si oui comment?

Daniel

Daniel ANDRE <daniel.andre <at> free.fr> writes:

Bonjour,
Je voudrais conserver le formattage dans le texte généré par
#INTRODUCTION. Il me semble avoir vu un site comme ça mais je ne
retrouve plus le site. Est-ce que c'est possible et si oui comment?
Daniel

Tu peux expliciter, je ne vois pas ce que tu veux dire.

Stanislas a écrit :

Daniel ANDRE <daniel.andre <at> free.fr> writes:

Bonjour,
Je voudrais conserver le formattage dans le texte généré par #INTRODUCTION. Il me semble avoir vu un site comme ça mais je ne retrouve plus le site. Est-ce que c'est possible et si oui comment?
Daniel

Tu peux expliciter, je ne vois pas ce que tu veux dire.

tu vas ici: http://daniel.andre.free.fr/spip
l'intro n'est pas correctement mise en page (c'est juste du texte brut)

contrairement à ici: http://daniel.andre.free.fr/spip/spip.php?article18

Ce que je voudrais c'est les premières ligne de l'article comme s'il était réellement affiché

Daniel

Daniel ANDRE <daniel.andre <at> free.fr> writes:

Stanislas a écrit :
> Daniel ANDRE <daniel.andre <at> free.fr> writes:
>
Ce que je voudrais c'est les premières ligne de l'article comme s'il
était réellement affiché
Daniel

alors peut être remplacer #INTRODUCTION par [(#TEXTE|{couper:150})] mais je n'ai
pas testé.

Stanislas a écrit :

Daniel ANDRE <daniel.andre <at> free.fr> writes:

Stanislas a écrit :

Daniel ANDRE <daniel.andre <at> free.fr> writes:

Ce que je voudrais c'est les premières ligne de l'article comme s'il était réellement affiché
Daniel

alors peut être remplacer #INTRODUCTION par [(#TEXTE|{couper:150})] mais je n'ai
pas testé.

[(#TEXTE|couper{150})] tu veux dire je suppose. Mais ça ne fonctionne pas non plus

Bonjour,

Je voudrais conserver le formattage dans le texte généré par
#INTRODUCTION. Il me semble avoir vu un site comme ça mais je ne
retrouve plus le site. Est-ce que c'est possible et si oui comment?

Moi, j'ai remplacé #INTRODUCTION
par ceci :

[(#DESCRIPTIF|sinon{[(#CHAPO|sinon{#TEXTE}|couper{300})]})]

On peut aussi en faire un modèle sur le même principe que #LESAUTEURS

André Vincent

Le 29/09/06, Andre Vincent< a écrit :

>
> Bonjour,
>
> Je voudrais conserver le formattage dans le texte généré par
> #INTRODUCTION. Il me semble avoir vu un site comme ça mais je ne
> retrouve plus le site. Est-ce que c'est possible et si oui comment?
>

Moi, j'ai remplacé #INTRODUCTION
par ceci :

[(#DESCRIPTIF|sinon{[(#CHAPO|sinon{#TEXTE}|couper{300})]})]

On peut aussi en faire un modèle sur le même principe que #LESAUTEURS

http://www.spip.net/fr_article902.html:
#INTRODUCTION : [SPIP 1.4] affiche le descriptif de l'article, sinon
affiche les 600 premiers caractères du début de l'article (chapeau
puis texte). [SPIP 1.3] Dans les versions précédentes de SPIP, ce sont
systématiquement les premiers caractères de l'article (chapeau puis
texte) qui sont pris en compte (le descriptif n'est pas utilisé).

On peut mettre en forme dans le descriptif, non?

--
Jacques

Marre de "*quoter comme un goret*" avec OE : (Rappel: quoter n'est

pas coder) http://www.aminautes.org/forums/configurer/oe/QF_doc.html

Où placer sa réponse ?
[Mini-FAQ] Repondre par courrier ou dans les news ?

Je voudrais conserver le formattage dans le texte généré par
#INTRODUCTION. Il me semble avoir vu un site comme ça mais je ne
retrouve plus le site. Est-ce que c'est possible et si oui comment?

Moi, j'ai remplacé #INTRODUCTION par :
[(#DESCRIPTIF|sinon{[(#CHAPO|sinon{#TEXTE}|couper{300})]})]

http://www.spip.net/fr_article902.html:
#INTRODUCTION : [SPIP 1.4] affiche le descriptif de l'article, sinon
affiche les 600 premiers caractères du début de l'article (chapeau
puis texte). [SPIP 1.3] Dans les versions précédentes de SPIP, ce sont
systématiquement les premiers caractères de l'article (chapeau puis
texte) qui sont pris en compte (le descriptif n'est pas utilisé).

On peut mettre en forme dans le descriptif, non?

Oui... S'il y a un descriptif. Le problème, c'est qu'en l'absence de
#DESCRIPTIF, #INTRODUCTION applique un filtrage de type "texte_brut" à
#CHAPO + #TEXTE et élimine ainsi tout formatage (gras, italique, puces,
listes, tableaux, etc...).

De là, la boucle que j'utilise qui retient le formatage de chacun. De plus,
s'il n'y a pas de #DESCRIPTIF, la boucle utilise seulement le #CHAPO, sinon,
seulement le #TEXTE.

AV

Bonjour, je trouve cet échange ce matin ... et, pour ma part, ayant le même problème, j'ai mis en place une solution qui tourne très bien (pour le moment, mais j'ai des "perfectionnements" à apporter ...) et qui est une alternative au filtre 'couper' qui, effectivement, supprime tout le formatage du texte.

Voilà, j'explique (je me suis inspiré d'une "vieille" contrib mais ne sais plus laquelle, que son auteur soit remercié) :

J'ai mis le code du filtre suivant dans mes_options.php du répertoire squelettes :

//---------------- PERMET D'AFFICHER UN TEXTE COUPE MAIS FORMATE ----------------------

// coupe une chaîne à $limite caractères, sans coupure de mot
// (un mot est considéré comme un groupe de caractères séparé par des espaces)

function resumer($texte,$limite,$url,$suite) { //$url pour mettre celle que l'on veut (y compris un autre site, $suite pour le texte qui s'affiche en fin de texte

if (strlen($texte) <= $limite) return $texte; // la longueur du texte est <= $limite, on retourne le texte entier

//$texte = nl2br($texte); on fait la coupure avant le 1e espace après $limite caractères
$pos = strpos(substr($texte, $limite), " ");
// s'il y a un espace après $limite caractères ou juste après $limite caractères
// on retourne la partie de $texte jusqu'avant cet espace
if (is_integer($pos) && $pos) return substr($texte, 0, $limite+$pos) . " (...)"."&nbsp;&nbsp; <b><font color='red'>>></b> <i><a
href=\"$url\">".$suite."</a></i></font>";
// sinon (pas d'espace après $limite caractères ou juste après $limite caractères) on retourne le texte
else return $texte;
}

Vous voyez qu'il y a du code html pour formater le texte de $suite : je voudrais compléter mes arguments pour mettre ce que je veux directement dans ma page ...

Ensuite, dans ma boucle, je passe ce qui suit (par exemple) :

(#TEXTE|resumer{1500,#URL_ARTICLE,Lire la suite}|justifier)

Le 'justifier' est un autre filtre, naturellement ...

Il vaut mieux mettre le filtre resumer en premier si d'autres filtres, et le 'Lire la suite' apparaitra à la suite du texte.

  Un exemple ici (éditorial de la page d'accueil) : http://www.assfor.com

Voilà, si cela peut servir ...

A+

Marc

Le 29 sept. 06 à 21:40, Andre Vincent a écrit :

Je voudrais conserver le formattage dans le texte généré par
#INTRODUCTION. Il me semble avoir vu un site comme ça mais je ne
retrouve plus le site. Est-ce que c'est possible et si oui comment?

Moi, j'ai remplacé #INTRODUCTION par :
[(#DESCRIPTIF|sinon{[(#CHAPO|sinon{#TEXTE}|couper{300})]})]

http://www.spip.net/fr_article902.html:
#INTRODUCTION : [SPIP 1.4] affiche le descriptif de l'article, sinon
affiche les 600 premiers caractères du début de l'article (chapeau
puis texte). [SPIP 1.3] Dans les versions précédentes de SPIP, ce sont
systématiquement les premiers caractères de l'article (chapeau puis
texte) qui sont pris en compte (le descriptif n'est pas utilisé).

On peut mettre en forme dans le descriptif, non?

Oui... S'il y a un descriptif. Le problème, c'est qu'en l'absence de
#DESCRIPTIF, #INTRODUCTION applique un filtrage de type "texte_brut" à
#CHAPO + #TEXTE et élimine ainsi tout formatage (gras, italique, puces,
listes, tableaux, etc...).

De là, la boucle que j'utilise qui retient le formatage de chacun. De plus,
s'il n'y a pas de #DESCRIPTIF, la boucle utilise seulement le #CHAPO, sinon,
seulement le #TEXTE.

Marc VALLETEAU de MOULLIAC a écrit :

...

function resumer($texte,$limite,$url,$suite) { //$url pour mettre celle que l'on veut (y compris un autre site, $suite pour le texte qui s'affiche en fin de texte

if (strlen($texte) <= $limite) return $texte; // la longueur du texte est <= $limite, on retourne le texte entier

//$texte = nl2br($texte); on fait la coupure avant le 1e espace après $limite caractères
$pos = strpos(substr($texte, $limite), " ");
// s'il y a un espace après $limite caractères ou juste après $limite caractères
// on retourne la partie de $texte jusqu'avant cet espace
if (is_integer($pos) && $pos) return substr($texte, 0, $limite+ $pos) . " (...)"."&nbsp;&nbsp; <b><font color='red'>>></b> <i><a
href=\"$url\">".$suite."</a></i></font>";
// sinon (pas d'espace après $limite caractères ou juste après $limite caractères) on retourne le texte
else return $texte;
}
...

Voilà, si cela peut servir ...

Bonjour,

Le problème de ce filtre "brutal" c'est que si, par exemple, dans le texte il y <i> et que le </i> est après la limite tout le reste est en italique

Daniel