Affichage sur la page d'accueil
Issue description
.Pour mon besoin d'aide précisément, et après avoir consulté la doc sur yacs, avec quelques éléments de réponses trouvés, mais pas complètement, je désire afficher la date du jour dans une boîte extra, uniquement sur la page d'accueil (un peu comme "Propulsé par Yacs"). En local avec easyphp (pour l'instant) J'ai intégré le tag suivant dans template.php:
//ajout de boite supplémentaire extra pour date du jour en français
// titre de la boite
$titre = 'Bonjour';
// tableaux des jours et des mois traduits en français
$nom_jour_fr = array("dimanche", "lundi", "mardi", "mercredi", "jeudi",
"vendredi", "samedi");
$mois_fr = Array("", "janvier", "février", "mars", "avril", "mai", "juin",
"juillet", "août",
"septembre", "octobre", "novembre", "décembre");
// on extrait la date du jour
list($nom_jour, $jour, $mois, $annee) = explode('/', date("w/d/n/Y"));
//contenu de la boite, affiche la date
$contenu = $nom_jour_fr[$nom_jour].' '.$jour.' '.$mois_fr[$mois].'
'.$annee;
// mise en page de la boite
$boite = Skin::build_box($titre,$contenu, 'extra');
// insertion en haut de page
$context['extra'] = $boite.$context['extra'];
Tout ça s'affiche parfaitement, mais sur toutes les pages. Pour éviter ça, j'ai créé template_home.php, avec ce tag, je l'ai enlevé dans template.php. Le résultat est conforme à ce que je désire, la date apparaît uniquement sur la page d'accueil.
Par contre, le téléchargement de deux pages différentes allonge le temps de réaction.
Si on regarde dans template.php (grigloo par exemple), on trouve ce tag qui permet de n'afficher que sur la page d'accueil "Propulsé par Yacs"
// link to yacs if we are at the front page
if(($context['skin_variant'] == 'home') && is_callable(array('i18n',
's')))
echo Skin::build_box(NULL, '<p>'.sprintf(i18n::s('Powered by %s'),
Skin::build_link(i18n::s('http://www.yetanothercommunitysystem.com/'),
i18n::s('yacs'), 'external')).'</p>', 'extra');
Mes connaissances en php étant réduites, très réduites, mais je me soigne, je ne suis pas arrivé à faire "cohabiter" ces deux tags.
Quelqu'un(e) aurait-il une réponse à ma demande?
Merci pour vos conseils avisés et pertinents
Pour voir notre siteComments
| Lasares from L'Île-Bizard à Montréal, Québec 709 posts | Je ne sais pas trop où vous avez inséré le code que vous avez écrit pour qu'il s'affiche, mais c'était certainement avant une instruction qui provoque l'affichage, car votre bout de code n'en comporte pas. Si vous désirez rendre ce code complètement autonome (non dépendant d'autres instructions d'affichage), il suffit de remplacer votre dernière déclaration de variable par une instruction echo. En reprenant l'instruction conditionnelle que vous avez identifiée (pour la première page), cela donne ceci :
Voilà, ça fonctionne. Je l'ai même ajouté sur mon site. Merci ! |
| Daniel46 38 posts | Merci Alain pour ces bons conseils. l'affichage de la boite se faisait par l'instruction En remettant les mains dans le cambouis, j'étais arrivé à ça:
Je pense que votre formulation est plus "propre", puisque on déclare la condition au démarrage du tag, et non à la fin, comme je l'ai écrit.
En tout cas ça va me permettre d'aller un peu plus loin dans l'affichage 'spécialisé'
Encore merci
|
| Daniel46 38 posts | Une précision supplémentaire, pour un affichage correct des mots accentués, il faut encoder les caractères spéciaux des mois février, aôut et décembre. Voila, voila, bonne journée à tous et merci pour le coup de main, on peut peut-être considérer cette demande d'aide comme résolu. un peu quand même, j'ai tenté ici d'écrire les modifications, mais comme les caractères spéciaux sont interprétés... on ne voit pas les changements.
|
Rate this page
Source: http://www.lotabne.com/yacs/index.php
Posted by Daniel46 on Nov. 12 2007, (popular)
un peu quand même, j'ai tenté ici d'écrire les modifications, mais comme les caractères spéciaux sont interprétés... on ne voit pas les changements.