Submitted by guim on
Bonjour à Tous,
voici une petit bout de code que je viens d'éditer,
il permet d'afficher le contenu d'une view dans un lightbox à l'ouverture de la page d'accueil.
tout d'abord,
- j'ai créé un type de contenu "popup"
- j'ai créé une view "popup", avec un bloc.
- j'ai dupliqué le fichier page.tpl.php en page-front.tpl.php et j'ai ajouté le contenu suivant sous le print $content
<?php
$requete = db_query('SELECT type FROM node WHERE type = "popup"') OR die('Erreur de la requete MySQL');
$resultat = db_fetch_array($requete);
if ($resultat != '')
print '<div id="lightboxAutoModal" style="display: none;" rel="lightmodal[|height: 200px;]">'.views_embed_view("popup", "block_1").'</div>';
?>
je vous laisse le soin de l'ajuster à votre sauce.
mon site étant en 2 langues
Permalien Soumis par guim le 11 Janvier, 2012 - 17:23
mon site étant en 2 langues (merci i18n),
j'ai dû ajouter une condition, en gros, dans la bdd, je vais vérifier la langue.
Pourquoi,
bein, si vous publiez du contenu en prévoyant d'éditer une traduction plus tard, ça vous évitera d'avoir une lightbox vide qui s'ouvrira dans la l'autre langue.
<?php
$requetefr = db_query('SELECT type FROM node WHERE type = "popup" and language= "fr"') OR die('Erreur de la requete MySQL');
$resultatfr = db_fetch_array($requetefr);
$requeteen = db_query('SELECT type FROM node WHERE type = "popup" and language= "en"') OR die('Erreur de la requete MySQL');
$resultaten = db_fetch_array($requeteen);
global $language;
if ($language->language == "fr") {
if ($resultatfr != '')
print '<div id="lightboxAutoModal" style="display: none;" rel="lightmodal">'.views_embed_view("popup", "block_1").'</div>';
}
else if ($language->language == "en") {
if ($resultaten != '')
print '<div id="lightboxAutoModal" style="display: none;" rel="lightmodal">'.views_embed_view("popup", "block_1").'</div>';
?>
Pour information,
que ce soit pour ce code ou le précédent,
il faudra constamment supprimer le contenu (popup) une fois qu'il sera jugé obsolète pour que la lightbox ne s'ouvre plus.
en espérant que ça aidera certains !