|
Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon. |
|
View previous topic :: View next topic |
Author |
Message |
phsjeuxvideo Smarty n00b
Joined: 24 Nov 2010 Posts: 1
|
Posted: Wed Nov 24, 2010 12:36 pm Post subject: Convertire ce script en Smarty |
|
|
Bonjour,
Je débute avec Smarty
Je dois converti ce fichier en smarty
Code: |
<?php
if (!admin_connect()) {
header('Location: login.php');
exit;
}
?>
<div align="center">
<h2>Mise à jour des information du site</h2>
<p>Bienvenue, <?php secure($_SESSION['admin']); ?>.</p>
<?php
if (!empty($msg_confirm)) {
echo '<ul>'."\n";
foreach($msg_confirm as $m) {
echo ' <li>'.$m.'</li>'."\n";
}
echo '</ul>';
}
if (!empty($errors_settings)) {
echo '<ul>'."\n";
foreach($errors_settings as $e) {
echo ' <li>'.$e.'</li>'."\n";
}
echo '</ul>';
}
echo $form_settings;
?>
</div>
|
Pouvez-vous m'aider ?
Merci |
|
Back to top |
|
Gowser Smarty Pro
Joined: 19 Feb 2008 Posts: 104 Location: Nantes (France)
|
Posted: Wed Nov 24, 2010 2:34 pm Post subject: |
|
|
Bonjour,
Avant de commencer, on ne va pas "juste" convertir ce fichier, il va falloir que tu mettes en place ton environnement avec smarty. Plusieurs points sont à effectuer :
- Installer smarty dans ton projet
- Faire ton fichier PHP
- Faire ton fichier template
-----------------------------
1 . Installer smarty dans ton projet
Si ton projet comporte déjà smarty, tu peux sauter cette section et allez directement au point "Faire ton fichier PHP".
Premièrement, télécharge smarty (je suis encore en version 2, mais libre à toi de prendre la version 3, j'utilise la version 3 pour cet explication mais cela ne changera rien pour toi)
Décompresse le fichier compressé de smarty dans un répertoire de ton application
Ensuite créé un autre répertoire qui contiendra les templates de ton application. Nous le nommerons "templates" ce répertoire
Du coup je me retrouve avec une arborescence comme ceci :
'Repertoire Principal'
------ smarty/
------ templates/
------ index.php
-----------------------------
2 . Faire ton fichier PHP (dans cette exemple il s'appelle index.php)
Code: |
<?php
// ici je me suis cree quelques variables et fonctions bouchons pour verifier tes differentes variables et fonctions
@session_start();
function admin_connect(){
return true;
}
function secure($string){
return $string;
}
$_SESSION['admin'] = 'Gowser';
$msg_confirm = array(
'message de confirmation :)'
);
$errors_settings = array(
'message d\'erreur :(',
'ca c\'est pas cool :O'
);
$form_settings = "<form>petit formulaire</form>";
/***********************
* PARTIE QUI T'INTERESSE
**********************/
// ici est ta fonction reprise pour tester si l'utilisateur est un administrateur
if (!admin_connect()) {
header('Location: login.php');
exit;
}
/*
* IMPORT DE SMARTY : je te conseille de mutualiser cette partie pour toutes tes pages
*/
// import de la classe smarty (n'oublie pas de changer le chemin d'include qui ne doit pas etre le meme que moi)
include dirname(__FILE__). DS . 'smarty/Smarty.class.php';
// on instancie la classe
$smarty = new Smarty();
// on indique ou est situe le repertoire des templates (n'oublie pas de changer le chemin d'include qui ne doit pas etre le meme que moi)
$smarty->template_dir = dirname(__FILE__). DS . 'templates';
/*
* TRAITEMENT STANDARD : ici fait ce que tu veux mais pense que tu dois bien séparer ton code PHP de ton template
*/
// on envoi les differentes variables que j'ai pu reperer dans ton code au template
// je garde a peu pres les meme noms histoire que tu sois pas trop perdu
// // la variable de session admin
$smarty->assign('admin', secure($_SESSION['admin']));
// // la variable contenant un message
$smarty->assign('msg_confirm', $msg_confirm);
// // la variable contenant tes erreurs de configuration
$smarty->assign('errors_settings', $errors_settings);
// // la variable contenant ton formulaire de configuration
$smarty->assign('form_settings', $form_settings);
// on appelle le template correspondant a ta page
// // ici on appelle la page pour smarty 2
$smarty->display('index_smarty2.tpl');
// // ici on appelle la page pour smarty 3
//$smarty->display('index_smarty3.tpl');
?>
|
-----------------------------
3 . Faire ton fichier template
Je vais te poster 2 versions de ce fichier : un pour smarty 2 et l'autre pour smarty 3 (normalement celui de la version 2 marche aussi avec smarty 3)
Ces fichiers sont a créer dans le répertoire 'templates'
Smarty 2 (dans mon exemple il s'appelle index_smarty2.tpl)
Code: |
<div align="center">
<h2>Mise à jour des information du site</h2>
<p>Bienvenue, {$admin}.</p>
{if !empty($msg_confirm)}
<ul>
{foreach from=$msg_confirm item=m key=id}
<li>{$m}</li>
{/foreach}
</ul>
{/if}
{if !empty($errors_settings)}
<ul>
{foreach from=$errors_settings item=e key=id}
<li>{$e}</li>
{/foreach}
</ul>
{/if}
{$form_settings}
|
Smarty 3 (dans mon exemple il s'appelle index_smarty3.tpl)
Code: |
<div align="center">
<h2>Mise à jour des information du site</h2>
<p>Bienvenue, {$admin}.</p>
{if !empty($msg_confirm)}
<ul>
{foreach $msg_confirm as $m}
<li>{$m}</li>
{/foreach}
</ul>
{/if}
{if !empty($errors_settings)}
<ul>
{foreach $errors_settings as $e}
<li>{$e}</li>
{/foreach}
</ul>
{/if}
{$form_settings}
|
-----------------------------
Voila ++ |
|
Back to top |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|