IPB

Bienvenue invité ( Connexion | Inscription )

> Fichier de langue + template, Je rebondis sur un post
Options
iBluelight
posté 19 Feb 2008, 18:10
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 867
Inscrit : 17 Jul 2006
Lieu : île d'Oléron
Membre no 64 525



Bonjour à tous smile.gif

Je suis en train actuellement je refaire un site en deux langues (fr et italien).

Je vais utiliser cette methode un peu modifiée.

Au lieu d'utiliser un seul fichier, je vais utiliser un fichier par langue et en inclure un en conséquance.

Le hic, c'est que j'utilise des templates, et au lieu d'assiger toutes mes variables une à une, je voudrais faire en sorte que lorsque je fait : {L_VARIABLE}, il affiche le contenu de $lang['variable'] dans le fichier de langue inclut.

J'utilise la class phpBB 2.0 (vu qu'il n'y a pas de 3.0 stand alone).



Le soucis se situe vers la ligne 310. unsure.gif

J'ai rajouté
CODE
if (strpos($code, '{L_') !== false)
        {
            $code = preg_replace('#\{L_([a-z0-9\-_]*)\}#is', "<?php echo ((isset(\$this->_rootref['L_\\1'])) ? \$this->_rootref['L_\\1'] : ((isset(\$lang['\\1'])) ? \$lang['\\1'] : '{ \\1 }')); ?>", $code);
        }


mais évidemment ça ne marche pas.

Si quelqu'un peut m'aider smile.gif Ce serait cool.

Merci smile.gif


Fichier(s) joint(s)
Fichier joint  template.php ( 14.31 Ko ) Nombre de téléchargements : 40
 


--------------------
iBluelight
MacBook Pro Retina Late 2014 sous Mavericks
| Carte son RME BabyFace | iPhone 4
Pour les Macbidouilleuses, allez jeter un oeil sur le Pink Topic, Breton par descendance grand-parentale !! CTC, Le singe mécanique.
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Vin's
posté 26 Feb 2008, 07:20
Message #2


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 771
Inscrit : 9 Apr 2006
Membre no 59 107



Désolé pour cette réponse assez tardive...
En fait, la classe template de phpBB3 fonctionne très bien en stand-alone... Il suffit de télécharger phpBB 3 et de récupérer les fichiers :
- includes/template.php
- includes/functions_template.php
Et de remplacer, lignes 256 et 263 de functions_template.php, \$user->lang par \$lang et ajouter $lang à la liste des globales passées à display(), ligne 144 de template.php pour que les variables L_ soient remplacées par le contenu du tableau $lang. (Il y a également LA_ qui fonctionne comme L_ mais qui subit un addslashes, utile pour du JavaScript)
CODE
<?php
header('Content-type: text/html; charset=utf-8'); // A régler au bon charset

define('IN_PHPBB', true);
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$config = Array('load_tplcompile'    => false);
require('includes/template.php');

$lang = array(
    'PHPBB'        => 'phpBB',
);

$template = new Template();
$template->set_custom_template('templates', 'mon_site');
    
$template->set_filenames(array(
    'body' => 'ma_page.html'
));
    
$template->assign_vars(array(
    'VAR1'        => $var1,
));

$template->display('body');
?>

utilisera le template ma_page.html situé dans le dossier 'templates'. Tu peux avoir plusieurs templates du même nom dans des dossiers différents (utile pour des thèmes) mais il faudra alors que 'mon_site' soit différent d'un thème à l'autre.
Un gros avantage des templates de phpBB3, c'est qu'un cache des templates est maintenu, ce qui accélère nettement le fonctionnement du système. Pour qu'il fonctionne, il suffit de créer un dossier 'cache' (et interdire son accès depuis le Web !). Si load_tplcompile est à true, le cache sera mis à jour au moindre changement dans les fichiers de templates.
Un peu d'infos sur les fonctions des templates de phpBB3 : http://area51.phpbb.com/docs/coding-guidel...html#templating

PS : Je pense que les avantages du système de phpBB3 sont suffisants pour justifier son utilisation. Mais si tu tiens à utiliser le système de la version 2, je pense qu'il faudrait ajouter "global $lang;" à la fonction pparse($handle) pour que ça marche (à vérifier...)

Ce message a été modifié par Vin's - 26 Feb 2008, 13:57.


--------------------
MacBook Pro 2.13 Ghz, 4 Go RAM, 500 Go DD — Quinti-boot Mac OS X 10.6.0, Debian GNU/Linux "unstable", Fedora 11, Windows 7, Haiku
Mac Mini 1.5 Ghz SuperDrive, 2 Go RAM, 160 Go DD - Tri-boot Mac OS X 10.5.8, Debian GNU/Linux Testing, Windows 7

Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 4th April 2026 - 23:45