[Spip] Afficher message uniquement si la page est la page d'accueil /sommaire.html

173 views
Skip to first unread message

Vincent (adresse du travail)

unread,
Jan 19, 2012, 6:31:00 AM1/19/12
to sp...@rezo.net
Bonjour,

Un truc tout bête je crois, mais que je ne vois pas comment résoudre.
J'ai un site multilingue...
je voudrais qu'un "Bienvenue" soir afficher dans les différentes langues sur la page sommaire (et seulement sur cette page !) à côté du nom du site dans le inc-entete (sinon j'aurai mis ceci en dur dans le squelette sommaire.html ).

Comment faire ?
j'ai pensé à ce type de boucle

<BOUCLE_bienvenue(RUBRIQUES){id_rubrique== ' ' }>

<multi> [fr] Bienvenue ! [en] Welcome  ! </multi>

</BOUCLE_bienvenue>

Mais cela ne fonctionne pas.

Sinon faire un inc-entete2.html juste pour le sommaire ... mais c'est toujours une inclusion en plus à gérer/maintenir à jour. Et moins il y en a... mieux c'est !

Merci.

Vincent

P.S : ce n'est pas mon idée... moi je trouve ça naze de mettre "bienvenue" sur un site (c'était bon sur les sites d'il y a 10 ans... mais maintenant ) 


330.gif

chankalan

unread,
Jan 19, 2012, 6:34:14 AM1/19/12
to sp...@rezo.net
salut,
avec
[(#ENV{composition}|=={sommaire}|oui) là les balises multi pour gérer les langues ]
ça devrait faire l'affaire...


Le 19/01/2012 12:31, Vincent (adresse du travail) a écrit :
je voudrais qu'un "Bienvenue" soir afficher dans les différentes langues sur la page sommaire (et seulement sur cette page !) à côté du nom du site dans le inc-entete (sinon j'aurai mis ceci en dur dans le squelette sommaire.html ).

-- 
----
chan

Vincent (adresse du travail)

unread,
Jan 19, 2012, 8:33:10 AM1/19/12
to chan...@free.fr, sp...@rezo.net
Merci mais cela ne fonctionne pas... Cela renvoie ceci.
[(|=={sommaire}|oui) Bienvenue sur ] nom du site
Aussi cela s'affiche quelque soit le squelette (rubrique, article)
Une idée du problème ?

_______________________________________________
liste spip
sp...@rezo.net - désabonnement : envoyer un mail à  spip...@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

chankalan

unread,
Jan 19, 2012, 8:38:21 AM1/19/12
to Vincent (adresse du travail), sp...@rezo.net
ah mince, quelle est la version de SPIP ?


Le 19/01/2012 14:33, Vincent (adresse du travail) a écrit :
Merci mais cela ne fonctionne pas... Cela renvoie ceci.
[(|=={sommaire}|oui) Bienvenue sur ] nom du site
Aussi cela s'affiche quelque soit le squelette (rubrique, article)
Une idée du problème ?

-- 
----
chan

Gerard Colin

unread,
Jan 19, 2012, 10:21:18 AM1/19/12
to Vincent (adresse du travail), sp...@rezo.net
Bonjour,

Dans " ecrire " tu as les dossier lang : lang/ecrire_pays.php , lang/public_pays.php et lang/spip_pays.php, or dans ton cas à priori ce sont plutôt les fichiers " lang/public_pays.php " qui t'intéressent.
Tu fais une copie des fichiers concernant les pays que tu veux traduire que tu mets dans un dossier " lang ", que ajoutes à la racine de tes squelettes, et tu ajoutes dans chaque fichier par pays concernés ta balise et sa traduction ( exemple pour le français dans public_fr.php :
// B
'bienvenue_accueil' => 'Bienvenue à l'accueil, vous venez d'arriver sur notre site .. etc ...' [ prendre copie sur le fichier pour des longues phases si tu veux en faire ],

pour l'anglais dans public_en.php :
//B
'bienvenue_accueil' => 'Welcome .. etc ..' ) pour chaque langues désirées ...

Ensuite tu ajoutes une balise ( exemple : <:bienvenue_accueil:> ) dans le squelette concerné et/ou dans tes squelettes langues concerné.
En cas de mise à jour, tu ne perds pas tes mots modifiés où il faut juste vérifier qu'il n'y en a pas des nouveaux pour les langues modifiées ...

Tu peux voir si cela fonctionne dans l'administration du site Configuration voir Gestion des langues ...

Sinon dans un fichier mes_options à la racine de tes squelettes, il doit y avoir une piste plus simple en prenant exemple dans les fichiers lang, mais je ne peux pas t'en dire plus.

Gérard

Le 19/01/12 12:31, Vincent (adresse du travail) a écrit :
_______________________________________________ liste spip

denisb

unread,
Jan 19, 2012, 10:26:02 AM1/19/12
to sp...@rezo.net
Le 19/01/12 14:33, Vincent (adresse du travail) a écrit :

> Merci mais cela ne fonctionne pas... Cela renvoie ceci.
> [(|=={sommaire}|oui) Bienvenue sur ] nom du site

ha.
l'usage des balises <multi> </multi> dans un *squelette*
nécessite de remplacer les [lg] par des {lg}

voir : http://core.spip.org/issues/1850

donc ce serait :

[(#ENV{composition}|=={sommaire}|oui)

<multi>{fr}Bienvenue !{es}¡Bienvenida!{gr}Καλωσόρισμα!</multi>
]

Vincent (adresse du travail)

unread,
Jan 19, 2012, 10:40:04 AM1/19/12
to denisb, sp...@rezo.net
Merci , mais même avec ceci cela ne retourne aucun résultat...
le  [(#ENV{composition} fait quoi au juste ? Il reconnait le squelette utilisé (passé dans les variables d'environnement - même si le parametre n'est pas dans l'url -comme pour page=sommaire ?

Merci de m'apporter des précisions.

Vincent

denisb

unread,
Jan 19, 2012, 10:46:43 AM1/19/12
to sp...@rezo.net
Le 19/01/12 16:40, Vincent (adresse du travail) a écrit :

> le [(#ENV{composition} fait quoi au juste ?

ça... je ne saurais te dire

mais tu dois pouvoir tester un truc comme :
[(#ENV{page}|non) <multi>...]

ou peut-être aussi :
[(#SELF|=={#URL_SITE_SPIP}|oui)<multi>...]

Beurt

unread,
Jan 19, 2012, 1:27:24 PM1/19/12
to Vincent (adresse du travail), denisb, sp...@rezo.net
Le 19 janvier 2012 16:40, Vincent (adresse du travail)
<communica...@gmail.com> a écrit :

> le  [(#ENV{composition} fait quoi au juste ?


Je pense que ça ne fonctionne qu'avec zpip et ça renvoie le type de
page. Les solutions génériques sont plutôt du côté de ce que proposait
denisb (c'est à dire #ENV{page}|non et/ou #SELF|=={#URL_SITE_SPIP})

--
Beurt

chankalan

unread,
Jan 19, 2012, 5:52:28 PM1/19/12
to sp...@rezo.net
c'est ce que je me disais... on prend des travers à utiliser que le
squelette Z
mais il est quand même bien, alors pourquoi pas le mettre dans ton cas,
Vincent ?
;o)
mais comme il faut pas oublier d'appeler le squelette inc-entete.html
avec son environnment dans sommaire.html, par exemple :
<INCLURE{fond=inc-entete,env}>

autant mettre une variable dans sommaire.html à l'appel de inc-entete.html
<INCLURE{fond=inc-entete,accueil=bonjour}>
et de la récupérer dans inc-entete.html avec
[(#ENV{accueil}|=={bonjour}|oui) ...sommaire ]

je crois que c'est le plus simple...


Le 19/01/2012 19:27, Beurt a écrit :
> Je pense que ça ne fonctionne qu'avec zpip et ça renvoie le type de
> page.

Vincent (adresse du travail)

unread,
Jan 20, 2012, 4:48:05 AM1/20/12
to sp...@rezo.net, chankalan
Merci  !
Pas mal cette autre solution. Je ne connaissais pas ce passage de parametres dans #ENV, du moins je ne connaissais pas son écriture.
Je suis toujours admiratif des possibilités offertes par le langage de spip, sa souplesse/adaptabilité et ceci avec une grande économie de moyens !
Aussi je suis admiratif des différents points de vue, des approches pour un même problème...

<INCLURE{fond=inc-entete,accue
il=bonjour}>
et de la récupérer dans inc-entete.html avec
[(#ENV{accueil}|=={bonjour}|oui) ...sommaire ]

Vincent (Dithyrambique !)
Reply all
Reply to author
Forward
0 new messages