Accueil
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
logo
Sommaire > Templates > VTemplate
        Qu'est-ce que VTemplate ?
        Comment installer VTemplate ?
        Comment instancier VTemplate ?
        Quelle est la syntaxe d'un gabarit VTemplate ?
        Comment envoyer une variable au template avec VTemplate ?
        Comment répéter un bloc du gabarit avec VTemplate ?
        Comment placer un bloc dans un autre (imbrication) avec VTemplate ?



Qu'est-ce que VTemplate ?
auteur : Guillaume Rossolini
fr VTemplate est système de templates écrit en PHP et c'est projet français.

Le principe est le même que pour phplib, à savoir utiliser des commentaires HTML dans le gabarit afin de construire un moule de document.


Comment installer VTemplate ?
auteur : Guillaume Rossolini
Télécharger l'archive, décompresser et éventuellement appliquer fr quelques corrections.


Comment instancier VTemplate ?
auteur : Guillaume Rossolini
include("vtemplate.class.php");
$vtp = new VTemplate;
$handle = $vtp->Open("test.vtp"); // Associer un fichier de gabarit à un handler

Quelle est la syntaxe d'un gabarit VTemplate ?
auteur : Guillaume Rossolini
Un gabarit VTemplate s'écrit en HTML :
<!--VTP_subject-->
    <div class="bloc_cours">
        <div class="titre_cours">{#title}</div>
    </div>
    <br />
    <br />
<!--/VTP_subject-->

Comment envoyer une variable au template avec VTemplate ?
auteur : Guillaume Rossolini
La méthode setVar() remplit cet office :
Script PHP :
$template->setVar($handle, 'charset', $charset);
Gabarit :
<meta http-equiv="Content-Type" content="text/html; charset={#charset}" />

Comment répéter un bloc du gabarit avec VTemplate ?
auteur : Guillaume Rossolini
Script PHP :
$sql = 'SELECT id, title
        FROM subject';
$subjects = mysql_query($sql) or die(mysql_error());
while($subject = mysql_fetch_assoc($subjects))
{
    $template->newSession($handle, 'subject');
    $template->setVar($handle, 'subject.title', $subject['title']);
}
Gabarit :
<!--VTP_subject-->
    <div class="bloc_cours">
        <div class="titre_cours">{#title}</div>
    </div>
    <br />
    <br />
<!--/VTP_subject-->

Comment placer un bloc dans un autre (imbrication) avec VTemplate ?
auteur : Guillaume Rossolini
Script PHP :
$sql = 'SELECT id, title
        FROM subject';
$subjects = mysql_query($sql) or die(mysql_error());
while($subject = mysql_fetch_assoc($subjects))
{
    $template->newSession($handle_home, 'subject');
    $template->setVar($handle_home, 'subject.title', $subject['title']);

    $sql = 'SELECT id, title
            FROM category
            WHERE subject_id = '.$subject['id'];
    $categories = mysql_query($sql) or die(mysql_error());
    while($category = mysql_fetch_assoc($categories))
    {
        $template->newSession($handle_home, 'category');
        $template->setVar($handle_home, 'category.title', $category['title']);

        $sql = 'SELECT id, uri, title, description
                FROM tutorial
                WHERE category_id = '.$category['id'];
        $tutorials = mysql_query($sql) or die(mysql_error());
        while($tutorial = mysql_fetch_assoc($tutorials))
        {
            $template->newSession($handle_home, 'tutorial');
            $template->setVar($handle_home, 'tutorial.uri', $tutorial['uri']);
            $template->setVar($handle_home, 'tutorial.title', $tutorial['title']);
            $template->setVar($handle_home, 'tutorial.description', $tutorial['description']);
        }
    }
}
Gabarit :
<!--VTP_subject-->
    <div class="bloc_cours">
        <div class="titre_cours">{#title}</div>
    <!--VTP_category-->
        <div class="categorie_cours">{#title}</div>
        <div class="liste_cours">
            <ul>
        <!--VTP_tutorial-->
                <li>
                    <a href="{#uri}">{#title}</a> : {#description}
                </li>
        <!--/VTP_tutorial-->
            </ul>
        </div>
        <hr />
    <!--/VTP_category-->
    </div>
    <br />
    <br />
<!--/VTP_subject-->


Consultez les autres F.A.Q.


Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2011  Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com