bonjour,
moi j'utilise TinyButStrong
Je suis complètement d'accord.Pas forcément, je milite pour les templates PHP moi
On peut très bien développer ses templates avec un simple script PHP, qui se contente d'utiliser les formules prédéfinies suivantes :
<?php echo $variable; ?>
<?php foreach ($tableau as $valeur): ?> ... <?php endforeach; ?>
<?php if ($condition): ?> ... <?php else: ?> ... <?php endif; ?>
PHP utilisé avec des bonnes pratiques, et un include suffit en guise de templates
C'est le choix de Joomla par exemple, ainsi que de dotClear.
<?php
/**
* @package : partenaires.app.php
* @version 1.0
* @copyright (c)2006 geekimo
* @author Geekimo : [email protected]
*/
class partenaires
{
private function partenaires_index()
{
global $tpl, $db;
$tpl->load_template('partenaires_index');
$tpl->add_style_item('partenaires.css');
$s_partenaires = "SELECT part_id, part_name, part_img, part_type FROM partenaires WHERE part_active='1' AND part_sid='".$db->escape($_SESSION['s_data']['site_id'])."' ORDER by part_type ASC";
$q_partenaires = $db->query($s_partenaires);
if($db->count_rows($q_partenaires) > 0) {
$tpl->erase_bloc('if_no_partenaires');
while($data = $db->fetch($q_partenaires)) {
extract($data);
$partenaires = array('partenaire.type' => ($part_type == '1' ? ' class="part_gold"' : ''),
'partenaire.name' => '<a href="'.rewrite_link('partenaires', array('action' => 'view', 'pid' => $part_id)).'">'.stripslashes($part_name).'</a>',
'partenaire.img' => '<a href="'.rewrite_link('partenaires', array('action' => 'view', 'pid' => $part_id)).'">'.(!empty($part_img) ? '<img src="'.$part_img.'" alt="'.stripslashes($part_name).'" />' : '').'</a>');
$tpl->assign_bloc('partenaires', $partenaires);
}
}
else {
$tpl->erase_bloc('if_partenaires');
}
$tpl->set_page_title('Partenaires');
$tpl->set_page_action('Partenaires');
$tpl->return_template(true);
}
private function redir($pid) {
global $db;
$s_partenaires = "SELECT part_url FROM partenaires WHERE part_active='1' AND part_sid='".$db->escape($_SESSION['s_data']['site_id'])."' AND part_id='".$db->escape($pid)."'";
$q_partenaires = $db->query($s_partenaires);
if($db->count_rows($q_partenaires) > 0) {
extract($db->fetch($q_partenaires));
header('Location: '.stripslashes($part_url));
}
else {
$tpl->erase_bloc('if_partenaires');
}
}
public function run()
{
if(isset($_GET['action'], $_GET['pid']) && $_GET['action']=='view' && !empty($_GET['pid']) && is_numeric($_GET['pid'])) {
self::redir($_GET['pid']);
}
else {
self::partenaires_index();
}
}
}
?>
C'est assez propre comme conception, pas de html, et pourtant, ca me ressort la liste de mes partenaires, le tout en php, sans complications
Et pourquoi pas ?... or avec heredoc, pas de boucles
$var = <<<HTML
<table summary="">
HTML;
for($i = 0; $i < 10; $i++)
{
$var .= <<<HTML
<tr>
<td>Ligne {$i}</td>
</tr>
HTML;
}
$var .= <<<HTML
</table>
HTML;
?>
Non pas toi Cyrano pas toi$var = <<<HTML <table summary=""> HTML; for($i = 0; $i < 10; $i++) { $var .= <<<HTML <tr> <td>Ligne {$i}</td> </tr> HTML; } $var .= <<<HTML </table> HTML; ?>
<table summary="">
<?php for ($i = 0; $i < 10; $i++): ?>
<tr>
<td>Ligne <?php echo $i ?></td>
</tr>
<?php endforeach ?>
</table>