Langue dans un plugins
flipflip
Member
Bonjour à tous,
Sur un plugin qui ajoute des champs sur la page article.php avec le hook AdminArticleContent. Je dois afficher un intitulé sur ces champs mais je n'arrive pas à trouver la bonne syntaxe pour afficher le texte issue du fichier fr.php de mon plugin.
J'ai essayé :
public function AdminArticleContent() { echo '<div class="grid gridthumb">'; echo ' <div class="col sml-12">'; echo ' <label for="id_mv2articles">'; echo $this->lang("L_MV2ARTICLES_MP4").' : '; echo ' <a title="'.$this->getLang("L_MV2ARTICLES_SELECTION").'" id="toggler_mv2articles_mp4" href="javascript:void(0)" onclick="mediasManager.openPopup("id_mv2articles_mp4", true)" style="outline:none; text-decoration: none">+</a>'; echo ' </label>'; echo ' </div></div>'; plxUtils::printInput('mv2articles_mp4',plxUtils::strCheck($mv2articles_mp4),'text','255',false,'full-width','','onkeyup="refreshImg(this.value)"'); }
Le texte traduit s'affiche bien mais la valeur de la variable $mv2articles_mp4 n'est pas récupérée.
Autre test :
public function AdminArticleContent() { $string = <<<END <?php echo '<div class="grid gridthumb">'; echo ' <div class="col sml-12">'; echo ' <label for="id_mv2articles">'; echo $this->lang("L_MV2ARTICLES_MP4").' : '; echo ' <a title="'.$this->getLang("L_MV2ARTICLES_SELECTION").'" id="toggler_mv2articles_mp4" href="javascript:void(0)" onclick="mediasManager.openPopup("id_mv2articles_mp4", true)" style="outline:none; text-decoration: none">+</a>'; echo ' </label>'; plxUtils::printInput('mv2articles_mp4',plxUtils::strCheck(\$mv2articles_mp4),'text','255',false,'full-width','','onkeyup="refreshImg(this.value)"'); echo ' </div></div>'; ?> END; echo $string; }
Cette fois la variable est ok mais c'est L_MV2ARTICLES_SELECTION qui s'affiche et non la version traduite.
J'ai un string de l'array
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Slt @flipflip
la funk lang() fait un "echo" alors que getLang() fait un "return", essaye avec ce code :
Note : ici j'utilise l'attribut $classe de printInput de manière triviale afin d'afficher le onkeyup, vous remarquerez qu'il n'y a pas les double quillemets (") a la fin du paramètre.
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président
Salut @Sudwebdesign ,
C'est presque bon ;)
Avec ton code les traductions s'affichent mais la valeur de $mv2articles dans le printInput ne s'affiche pas alors qu'elle est bien présente dans le fichier xml.
J'ai un string de l'array
Yep @flipflip
Pour aller plus loin :
Notes :
plxUtils::strCheck() me semble inutile
le "for" du label est corrigé : il manquait le _mp4 a la fin.
Si cette variable est a enregistrer ds le xml de l'article, voici les autres hook a utiliser.
Duplique le code ci-dessous ds ton greffon et ça devrai rouler (Mais c'est peut-être déjà fait) :
Duplique ce code ci-dessous ds le constructeur de ta classe (__contruct) pour que cela fonctionne
Remarque :
pour faire cela il y a aussi les plugins champArt et chamPlus, tu peu t'en inspiré, voir les utilisés ;)
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président
Un oubli,
il manque le hook AdminArticleInitData
Et une petite révision du constructeur
😉
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président
Merci @Sudwebdesign pour ton aide.
J'avais oublié ces deux petits plugins, je me suis inspiré de leurs syntaxe et de ce que tu m'a proposé et maintenant tout est ok.
La fonction ressemble à
Nikel maintenant.
P.S. : le passage avec la balise code du forum fait sauter les espaces :( j'ai remis les plus important.
J'ai un string de l'array