Skip to main content Help Control Panel

YACS CMS : Open source !

Community «   Le forum «   Soupçons de bogues «   Ajout d'un script php à un template [résolu] «  

Comment: Ajout d'un script php à un template [résolu]

  Next >>
La démarche est effectivement la bonne. Le fichier template.php est du PHP 'pur', et non un langage de template exotique comme avec d'autres gestionnaires de contenu... Voilà c'est dit...

Pour en revenir à votre question, il s'agit de marier les exemples de code PHP qui fourmillent sur Internet avec le code de base des mises en page fournies avec YACS.

Pour la gestion de l'en-tête aléatoire

Le template.php génère une division de page nommée. Par exemple pour boxesandarrows :

// the header panel comes before everything
echo '<div id="header_panel">'.'n';



Normalement ceci est pris en charge de manière statique par la feuille de style css, à l'identifiant #header_panel.

Dans votre cas, il faudrait rajouter du code pour faire une sélection aléatoire, et remplacer les lignes de template.php citées précédemment par ce qui suit.

// table of available background images
$images = array('1.jpg''2.jpg''3.jpg');

// get a random index in table
$index array_rand($images);

// the header panel comes before everything
echo 'div id="header_panel" style="background: transparent
    url('
.$context['url_to_root'].$context['skin'].'/images/'.$images[$index].'
    ) top left repeat-x;">'
."n";



Dans cet exemple, j'ai supposé que vous aviez trois images d'en-tête placées dans le sous-répertoire images de votre style, nommées 1.jpg, etc.

Vous pouvez en avoir plus, bien entendu, et il suffit de modifier le contenu de la variable $images pour l'adapter à votre cas particulier.

Ajouter une boîte extra

Tout ce que le script template.php connait des boîtes extra, c'est une variable qui les contient toutes. Il suffit de compléter cette variable pour ajouter une boîte au début ou à la fin de la liste. Par exemple, pour dire coucou en haut de page :

// titre de la boite
$titre 'coucou';

// contenu de la boite
$contenu 'un peu de contenu';

// mise en page de la boite
$boite Skin::build_box($titre$contenu'extra');

// insertion en haut de page
$context['extra'] = $boite.$context['extra'];



Bien sur il faudrait adapter le titre et le contenu à votre cas précis. Le tout devra être inséré dans template.php, avant l'envoi de la variable au navigateur. Pour boxesandarrows, ce pourrait être juste avant la ligne :

Page::side(TRUE);



Bienvenue dans le monde merveilleux de PHP...

This comment has inspired:

by Bernard on Nov. 1 2006