Voir la version complète : Quelqu'un m'explique $vbphrase?
J'ai besoin dans une page du CP d'obtenir mes propres phrases persos... J'ai jeté un oeil au code... Si j'ai bien compris, on précise dans un tableau les groupes de phrases que l'on va utiliser... Ensuite, c'est dans le global.php qu'on appelle un init_language() (se trouvant dans includes/functions.php) qui va se charger d'initialiser le tableau $vbphrase... Ensuite? Il y a bien une méthode fetch_phrase_group(), je comprend son fonctionnement mais je ne vois pas à partir d'où elle est appelée...
Sinon pour ce que je veux faire je ne comprend pas à quel niveaux je fait la relation entre mon groupe de phrases et mes phrases... Si quelqu'un peux me donner les infos la dessus... Ca sera ca de gagner sans chercher ;)
Pour l'ajout d'un groupe, tout d'abord créé un fichier dans admincp contenant ceci :
<?
require_once('./global.php');
require_once('./includes/adminfunctions_language.php');
if($ajout=add_phrase_type('identifiant', 'Identifiant')) { // le deuxième Identifiant correspond au nom qu'on verra dans les groupes de phrases.
echo "ajout du groupe réussi";
} else {
echo "échec";
}
?>
identifiant et Identifiant étant les noms du groupe de phrase que tu souhaites ajouter.
Ensuite te suffit d'ajouter tes phrases via l'admincp languages & phrases > Phrase Manager > Add new phrase.
Enfin dans le fichier où tu souhaites appeler les phrases du groupe que tu as appelé cherche ce code :
$phrasegroups = array('un truc');
et ajoute après 'un truc' ceci , 'identifiant'
Pour appeler le groupe de phrase, c'est okay j'avais compris... Mais ce qu'il me manque c'est le lien entre le groupe et les phrases... En fait je taper ca dans l'installateur d'un hack, c'est pour ca que je veux bien comprendre le système...
Ajouter les phrases, c'est okay, mais comment préciser qu'elles font partie d'un groupe? J'ai vu dans la BD que c'est une colonne dans la table language qui contient une référence mais bon, je n'ai pas compris comment faire moi meme ces références... Y a une methode toute faites dans vbulletin? :)
Merci de ton aide Akex
Pitchoune
28/02/2004, 14h24
Pour faire apparaître une phrase d'un groupe pour une page particulière, tu ouvres cette page et tu indiques dans la variable $phrasegroups(); des valeurs (regarde en exemple des pages existantes).
Ces variables sont cherchés dans la table phrasetype :)
Hum ca j'avais compris no problemo avant Pitchoune... Puis-je oser te demander de relire le sujet attentivement? :D
huhu.... merci qomem
$DB_site->query("
INSERT INTO " . TABLE_PREFIX . "phrase
(languageid, varname, text, phrasetypeid)
VALUES
($languageid, '" . addslashes($varname) . "', '" . addslashes($texte) . "', $phrasetypeid)
");
tu précise $languageid (-1 correspond au master language visible en mode debug), $varname (variable mise dans $vbphrase[]), $texte (inutile de préciser) et $phrasetypeid (correspondant à l'id du groupe dans lequel tu souhaites insérer la phrase).
Ensuite il te suffit de faire un
build_language(-1); et ça roule :)
Sinon encore mieux importer tes phrases direct en xml. Tu les mets dans ton forum où tu conçois ton hack puis tu exporte le fichier langue obtenu. Ensuite il te suffit de garder la forme du fichier xml en supprimant les phrases que tu ne veux pas mais en gardant néanmoins la structure.
<language name="xxxxxxxxxxxx" vbversion="3.0.0 Release Candidate 4" type="phrases">
<phrasetype name="nom du groupe">
<phrase name="xxxxxxxxx"><![CDATA[xxxxxxxxxxxxx]]></phrase>
<phrase name="xxxxxxxx"><![CDATA[xxxxxxxxx]]></phrase>
</phrasetype>
et te suffit d'importer le langage via cette commande :
add_phrase_type('nom du groupe', 'Nom du groupe');
$import = file_read("chemin relatif vers le fichier xml");
$languages = fetch_languages_array();
foreach($languages AS $languageid => $language) {
xml_import_language($import,$languageid);
}
Merci à mtor en passant :)
Pitchoune
29/02/2004, 10h07
Ton dernier quote PHP va me servir pour un hack, je butais dessus et j'aurais voulu attendre vbdhome pour voir comment il faisait ;)
Pitchoune
29/02/2004, 17h21
Par contre, c'est quoi les premières lignes du fichier langue, entre master, custom ou autre chose ? Pour intégrer dans la langue maternelle les expressions anglaises :)
Merci pour ces précisions, voila exactement ce que je cherchais ;) Intéressante question de pitchoune aussi :D
Pitchoune
01/03/2004, 00h25
J'ai fais des tests et custom fonctionne bien :)
Par contre, j'aimerais le même système pour les templates :D
hi hi hi pour les templates pour vBdHome je me suis bien creusé les méninges pour le faire
Mais t'inquiètes la sortie est vraiment très proche :D donc tu pourras bientôt voir comment faire
Pitchoune
01/03/2004, 11h37
Parce que si j'ai pas des exemples de codes, Arcade V3 pas intégré aux langues mdrrr :D
xcheater2
02/03/2004, 08h12
Pitchoune, j'ai commencé un hack qui faisait appel a ces fameuse phrases, voir dans la section modo si ca y est encore (fichier php de vbb et un txt), si tu veu je te passe le hack que j'ai commencé mais pas fini (lol) mais ca date de la gamma enfin dans ses environs.
comme tu peu le comprendre je ne peu te passer que par mp car il y a un fichier php
Pitchoune
02/03/2004, 14h19
Je vais aller jeter un coup d'oeil merci :)
vBulletin® v.3.8.0 Beta 4, Copyright ©2000-2008, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org