syntaxe spip et php

Bonjour

Dans une page contact, j’affiche un message de confirmation d’envoi avec ce code

‹ message_ok ›=>_T(‹ escal:contact_retour_commentaire ›)

qui va chercher une chaîne de langue et qui fonctionne bien.

Je voudrais maintenant donner la possibilité de la modofier via une page de configuration.

J’ai essayé ceci

‹ message_ok ›=>_T(‹ [(#CONFIG{escal/config/contactretour}|?{ [(#CONFIG{escal/config/contactretour}|_T_ou_typo)],<:escal:contact_retour_commentaire:> })] ›)

mais ça ne fonctionne pas car je dois faire une erreur de syntaxe php ou spip vraisemblablement. A moins que ce ne soit pas possible d’inclure du langage spip dans du php de cette manière ?

Une idée ?

JC

Le 24/08/2020 à 18:15, Jean-Christophe Villeneuve a écrit :

J'ai essayé ceci

    'message_ok'=>_T('[(#CONFIG{escal/config/contactretour}|?{
    [(#CONFIG{escal/config/contactretour}|_T_ou_typo)],<:escal:contact_retour_commentaire:>
    })]')

mais ça ne fonctionne pas car je dois faire une erreur de syntaxe php ou spip vraisemblablement. A moins que ce ne soit pas possible d'inclure du langage spip dans du php de cette manière ?

Je ne pense pas que ça puisse marcher comme ça, et puis ça me parait un peu compliqué.
Il faut le gérer en php avec lire_config().

Qqchose comme ça (de tête, pas testé) :

'message_ok'=>_T(lire_config('escal/config/contactretour') ? lire_config('escal/config/contactretour') : 'escal:contact_retour_commentaire');

--
nicod_

Le 24/08/2020 à 18:47, nicod_ a écrit :

Le 24/08/2020 à 18:15, Jean-Christophe Villeneuve a écrit :

J'ai essayé ceci

'message_ok'=>_T('[(#CONFIG{escal/config/contactretour}|?{
[(#CONFIG{escal/config/contactretour}|_T_ou_typo)],<:escal:contact_retour_commentaire:>
})]')

mais ça ne fonctionne pas car je dois faire une erreur de syntaxe php ou spip vraisemblablement. A moins que ce ne soit pas possible d'inclure du langage spip dans du php de cette manière ?

Je ne pense pas que ça puisse marcher comme ça, et puis ça me parait un peu compliqué.
Il faut le gérer en php avec lire_config().

Qqchose comme ça (de tête, pas testé) :

'message_ok'=>_T(lire_config('escal/config/contactretour') ? lire_config('escal/config/contactretour') : 'escal:contact_retour_commentaire');

Oui lire_config, bien sur !
Mais le test sioui sinon semble poser problème

Le 24/08/2020 à 19:55, Jean-Christophe Villeneuve a écrit :

Le 24/08/2020 à 18:47, nicod_ a écrit :

Le 24/08/2020 à 18:15, Jean-Christophe Villeneuve a écrit :

J'ai essayé ceci

'message_ok'=>_T('[(#CONFIG{escal/config/contactretour}|?{
[(#CONFIG{escal/config/contactretour}|_T_ou_typo)],<:escal:contact_retour_commentaire:>

\}\)\]&#39;\)

mais ça ne fonctionne pas car je dois faire une erreur de syntaxe php ou spip vraisemblablement. A moins que ce ne soit pas possible d'inclure du langage spip dans du php de cette manière ?

Je ne pense pas que ça puisse marcher comme ça, et puis ça me parait un peu compliqué.
Il faut le gérer en php avec lire_config().

Qqchose comme ça (de tête, pas testé) :

'message_ok'=>_T(lire_config('escal/config/contactretour') ? lire_config('escal/config/contactretour') : 'escal:contact_retour_commentaire');

Oui lire_config, bien sur !
Mais le test sioui sinon semble poser problème

le code
'message_ok'=> lire_config('escal/config/contactretour') ? lire_config('escal/config/contactretour') : _T('escal:contact_retour_commentaire');
comme
'message_ok'=>_T(lire_config('escal/config/contactretour') ? lire_config('escal/config/contactretour') : 'escal:contact_retour_commentaire');

ne fonctionnent pas

Une autre idée de syntaxe ?

JC

Le 01/09/2020 à 18:34, Jean-Christophe Villeneuve a écrit :

Le 24/08/2020 à 19:55, Jean-Christophe Villeneuve a écrit :

Le 24/08/2020 à 18:47, nicod_ a écrit :

Le 24/08/2020 à 18:15, Jean-Christophe Villeneuve a écrit :

J'ai essayé ceci

'message_ok'=>_T('[(#CONFIG{escal/config/contactretour}|?{
[(#CONFIG{escal/config/contactretour}|_T_ou_typo)],<:escal:contact_retour_commentaire:>

\}\)\]&#39;\)

mais ça ne fonctionne pas car je dois faire une erreur de syntaxe php ou spip vraisemblablement. A moins que ce ne soit pas possible d'inclure du langage spip dans du php de cette manière ?

Je ne pense pas que ça puisse marcher comme ça, et puis ça me parait un peu compliqué.
Il faut le gérer en php avec lire_config().

Qqchose comme ça (de tête, pas testé) :

'message_ok'=>_T(lire_config('escal/config/contactretour') ? lire_config('escal/config/contactretour') : 'escal:contact_retour_commentaire');

Oui lire_config, bien sur !
Mais le test sioui sinon semble poser problème

le code
'message_ok'=> lire_config('escal/config/contactretour') ? lire_config('escal/config/contactretour') : _T('escal:contact_retour_commentaire');
comme
'message_ok'=>_T(lire_config('escal/config/contactretour') ? lire_config('escal/config/contactretour') : 'escal:contact_retour_commentaire');

ne fonctionnent pas

Une autre idée de syntaxe ?

JC

J'ai aussi essayé avec
if(isset(lire_config('escal/config/contactretour'))) {
'message_ok'=> lire_config('escal/config/contactretour')
}else{
'message_ok'=> _T('escal:contact_retour_commentaire')
}
mais pas mieux

JC