Nouveaux posts

 



Parcourir ce sujet:   1 Utilisateur(s) anonymes


 Bas   Précédent   Suivant Enregistrer votre réponse Ecrire un nouveau message



kjame
Les redirections en ajax avec Xoops
Webmestre
Inscrit:
20/08/2005 18:35
De Bordeaux
Post(s): 1707
Hors Ligne
Sous le CMS Xoops, peut être avez-vous déjà souhaité mettre en place une page de redirection... avec une allure un peu "2.0" ? Si tel est le cas, il vous faut un petit coup de Ajax, et ce tutoriel :

Round 1 :

Editez le fichier include\functions.php, ligne 418 après
$xoopsTpl->assign('message', $message)

Ajoutez
if( ! headers_sent() ) {
$_SESSION['redirect_message'] = $message ;
//$_SESSION['redirect_time'] = $time * 6000 ;
header( "Location: ".preg_replace("/[&]amp;/i",'&',$url) ) ;
exit ;
}


Round 2 :

Ouvrez le fichier includes\cp_functions.php, ligne 151 après
echo "
</body>
</html>
";

Ajoutez
if( ! empty( $_SESSION['redirect_message'] ) ) {
echo "<div id='divLoading'>";
echo '<div align="right"><a href="#" onclick="document.getElementById(\'divLoading\').style.display=\'none\'">[X]</a> </div>';
echo "<p>".htmlspecialchars($_SESSION['redirect_message'],ENT_QUOTES)."</p>
</div>";
unset( $_SESSION['redirect_message'] ) ;
}


Round 3 :

Ouvrez le fichier votretheme/theme.html et ajoutez au tout début :
<{php}>
	if( ! empty( $_SESSION['redirect_message'] ) ) {
		$this->_tpl_vars['xoops_msg'] = $_SESSION['redirect_message']; 
		$this->_tpl_vars['wait_time'] = $_SESSION['redirect_time']; 
		unset( $_SESSION['redirect_message'] ) ;
	}
<{/php}>


Round 4 :

Ouvrez le fichier votretheme/theme.html et ajoutez avant </head> :

<script type="text/javascript">
function init( ) {
&nbsp;// .... other command
&nbsp;Tag = document.getElementById("divLoading");
&nbsp;Tag.style.display = "none";
}
window.setTimeout(init, <{$wait_time|default:1000}>); //default loadding 1 second
</script>
<style type="text/css" media="all">
#divLoading {
&nbsp;position:absolute;
&nbsp;left:50%;
&nbsp;top:50%;
&nbsp;z-order=0;
&nbsp;z-index=100;
&nbsp;width: 300px;
&nbsp;margin-left: -150px;
&nbsp;height: 100px;
&nbsp;margin-top: -50px;
&nbsp;filter:alpha(opacity=90);
&nbsp;-moz-opacity: 0.9;
&nbsp;opacity: 0.9;
&nbsp;border:1px #FF8811 solid;
&nbsp;background-color:#FFEFC9;
&nbsp;color:#CC6600;
&nbsp;text-align:center;
&nbsp;vertical-align:middle;
}
#divLoading p {
&nbsp;vertical-align:middle;
&nbsp;padding:20px;
}
#divLoading p img {
&nbsp;vertical-align:middle;
&nbsp;padding:5px;
}
</style>


Round 5 :

Toujours dans votre fichier theme.html, après <body>, ajoutez :
<{if $xoops_msg}>
<div id="divLoading">
  <p><{$xoops_msg}></p>
</div>
<{/if}>


Cela fonctionne sous Xoops 2.0.0.16 actuellement, je n'ai pas fait de tests ailleurs.

Merci à Xoops.org & Peak Xoops

Contribution le : 07/03 20:51:47
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant

Enregistrer votre réponse Ecrire un nouveau message


Vous pouvez débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous pouvez répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous pouvez voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous pouvez poster sans approbation.

[Recherche avancée]