Bonjour à tous,
J'ai un problème avec les langues sur une table externe à spip. Je vous joints une archive (en espérant qu'elle passe...) contenant un plugin pour reproduire le problème que je vais vous décrire.
J'ai créé une table spip_produits qui contient les champs id_produit, titre et lang.
Il y a un fichier avec des enregistrements sql pour créer la table et y insérer 2 enregistrements (un produit en français et un produit en anglais).
Une fois le plugin activé et le fichier sql importé, il faut appeler le squelette test.html spip.php?page=test
Je suis surpris de l'affichage de ce squelette car on obtient :
produit fr - fr - Accueil du site
----------
product en - en - Accueil du site
alors que je m'attendais à :
produit fr - fr - Accueil du site
----------
product en - en - Homepage
Il semble que spip ne sorte pas le champ lang de la table spip_produits pour l'insérer dans le contexte de la page et du coup la chaine <:accueil_site:> n'est pas traduite en anglais.
Si vous avez une explication, je suis preneur.
Merci d'avance.
Pierre
pb-lang.zip (3.61 KB)
Le 26 mai 08 à 19:08, Pierre Basson a écrit :
Bonjour à tous,
J'ai un problème avec les langues sur une table externe à spip. Je vous joints une archive (en espérant qu'elle passe...) contenant un plugin pour reproduire le problème que je vais vous décrire.
J'ai créé une table spip_produits qui contient les champs id_produit, titre et lang.
Il y a un fichier avec des enregistrements sql pour créer la table et y insérer 2 enregistrements (un produit en français et un produit en anglais).
Une fois le plugin activé et le fichier sql importé, il faut appeler le squelette test.html spip.php?page=test
Je suis surpris de l'affichage de ce squelette car on obtient :
produit fr - fr - Accueil du site
----------
product en - en - Accueil du site
alors que je m'attendais à :
produit fr - fr - Accueil du site
----------
product en - en - Homepage
Il semble que spip ne sorte pas le champ lang de la table spip_produits pour l'insérer dans le contexte de la page et du coup la chaine <:accueil_site:> n'est pas traduite en anglais.
C'est l'inconvénient de développer un plugin de façon non partagée : on est seul quand on problème survient ...
Partage ton code pour avoir de l'aide, car franchement je doute que quelqu'un ait envie de se donner la peine d'installer ton zip de test pour te débloquer.
Il y a un effort commun sur la zone, sur le plugin echoppe. Participes-y !
Cédric
A priori pour que les mutli passe dans un plugin il faut mettre
global $table_des_traitements; $table_des_traitements[‹ NOM_SITE_SPIP ›] = ‹ propre(%s) ›;
Mais avec le nom de tes tables à toi
Je sais pas si ca répond à ta question
Alexandra
Le 26 mai 2008 19:08, Pierre Basson <pierre.basson@gmail.com> a écrit :
Bonjour à tous,
J’ai un problème avec les langues sur une table externe à spip. Je vous joints une archive (en espérant qu’elle passe…) contenant un plugin pour reproduire le problème que je vais vous décrire.
J’ai créé une table spip_produits qui contient les champs id_produit, titre et lang.
Il y a un fichier avec des enregistrements sql pour créer la table et y insérer 2 enregistrements (un produit en français et un produit en anglais).
Une fois le plugin activé et le fichier sql importé, il faut appeler le squelette test.html spip.php?page=test
Je suis surpris de l’affichage de ce squelette car on obtient :
produit fr - fr - Accueil du site
product en - en - Accueil du site
alors que je m’attendais à :
produit fr - fr - Accueil du site
product en - en - Homepage
Il semble que spip ne sorte pas le champ lang de la table spip_produits pour l’insérer dans le contexte de la page et du coup la chaine <:accueil_site:> n’est pas traduite en anglais.
Si vous avez une explication, je suis preneur.
Merci d’avance.
Pierre
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone