Bonjour,
J'utilise SPIP comme CMS et le principe est que le serveur va sur index.php qui appelle spip.php, qui lui appelle le squelette sommaire.html.
J'ai une page index.php avec le code suivant :
et une page (vide) prehome.php :
Lorsque je vais sur ma page d'accueil, soit le cookie "CookieVisiteVirtuelle" est présent dans le cache du navigateur, alors je suis redirigé vers spip.php, soit il n'existe pas et je suis redirigé vers prehome.php où le cookie se crée. Cela me permet de ne plus être redirigé vers la prehome dans la journée.
Jusque là tout va bien.
Maintenant je souhaite insérer une modalbox sur ma page d'accueil (spip.php qui va chercher le squelette "sommaire.html") plutôt que d'utiliser une page intermédiaire de prehome.
Dans ma page "sommaire.html" j'ai dans le "head" :
ainsi que :
dans le body de cette même page.
Je tiens à préciser que j'ai déjà mis en place la modalbox sur une page et que cela fonctionne. Une fenêtre du type popup apparaît sur ma page d'accueil avec le contenu de "prehome.php" (ici vide).
Je souhaite donc lier mon principe de prehome + cookie avec celui de la modalbox. C'est à dire que lorsque j'arrive sur ma page d'accueil, je ne sois pas redirigé comme avant mais que la modalbox apparaisse seulement la première fois de la journée que je vais sur la page d'accueil spip.php.
Après avoir testé toutes sortes de solutions, j'en ai conclus que mon cookie ne se créait pas à l'ouverture de ma popup car l'URL ne changeait pas.
Je voudrais que ma page index.php pointe tout le temps vers spip.php sauf que si le cookie "CookieVisiteVirtuelle" n'existe pas, la modalbox se lance et s'il existe, elle ne se lance pas.
J'ai donc tenté quelque chose comme ça :
Bien entendu je sais que cela est faux, je voudrais donc savoir si quelqu'un saurait comment faire pour préciser le "onLoad" (présent dans le body de "sommaire.html") dans ma boucle conditionnelle.
Auriez vous une solution à mon problème svp ?
Désolé pour la longueur du post mais je tenais à bien expliquer chaque étape. Merci de m'avoir lu.
Modifié par Sellas (19 Mar 2009 - 19:04)
J'utilise SPIP comme CMS et le principe est que le serveur va sur index.php qui appelle spip.php, qui lui appelle le squelette sommaire.html.
J'ai une page index.php avec le code suivant :
<?php
if (isset($_COOKIE['CookieVisiteVirtuelle'])) {
header('location:spip.php');
}
else {
header('location:prehome.php');
}
?>
et une page (vide) prehome.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php // Envoi d'un cookie qui restera prsent 24 heures
setcookie('CookieVisiteVirtuelle', '1', (time() + 3600*24), '/');
header("Refresh: 10; URL=http://localhost/spip/" );
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prehome</title>
</head>
<body>
</body>
</html>
Lorsque je vais sur ma page d'accueil, soit le cookie "CookieVisiteVirtuelle" est présent dans le cache du navigateur, alors je suis redirigé vers spip.php, soit il n'existe pas et je suis redirigé vers prehome.php où le cookie se crée. Cela me permet de ne plus être redirigé vers la prehome dans la journée.
Jusque là tout va bien.
Maintenant je souhaite insérer une modalbox sur ma page d'accueil (spip.php qui va chercher le squelette "sommaire.html") plutôt que d'utiliser une page intermédiaire de prehome.
Dans ma page "sommaire.html" j'ai dans le "head" :
<script type="text/javascript" src="includes/prototype.js"></script>
<script type="text/javascript" src="includes/scriptaculous.js?
load=effects"></script>
<script type="text/javascript" src="includes/modalbox.js"></script>
ainsi que :
onLoad="Modalbox.show('prehome.php')"
dans le body de cette même page.
Je tiens à préciser que j'ai déjà mis en place la modalbox sur une page et que cela fonctionne. Une fenêtre du type popup apparaît sur ma page d'accueil avec le contenu de "prehome.php" (ici vide).
Je souhaite donc lier mon principe de prehome + cookie avec celui de la modalbox. C'est à dire que lorsque j'arrive sur ma page d'accueil, je ne sois pas redirigé comme avant mais que la modalbox apparaisse seulement la première fois de la journée que je vais sur la page d'accueil spip.php.
Après avoir testé toutes sortes de solutions, j'en ai conclus que mon cookie ne se créait pas à l'ouverture de ma popup car l'URL ne changeait pas.
Je voudrais que ma page index.php pointe tout le temps vers spip.php sauf que si le cookie "CookieVisiteVirtuelle" n'existe pas, la modalbox se lance et s'il existe, elle ne se lance pas.
J'ai donc tenté quelque chose comme ça :
<?php
if (isset($_COOKIE['CookieVisiteVirtuelle'])) {
header('location:spip.php');
}
else {
header('location:spip.php'); onLoad="Modalbox.show('prehome.php')"
}
?>
Bien entendu je sais que cela est faux, je voudrais donc savoir si quelqu'un saurait comment faire pour préciser le "onLoad" (présent dans le body de "sommaire.html") dans ma boucle conditionnelle.
Auriez vous une solution à mon problème svp ?
Désolé pour la longueur du post mais je tenais à bien expliquer chaque étape. Merci de m'avoir lu.
Modifié par Sellas (19 Mar 2009 - 19:04)