Template Creator CK

Créez vos propres templates Joomla! avec Template Creator CK

Templates Joomla!

ebook_128

Téléchargez le livre de création de templates Joomla!

320 pages de Documentation technique, 2 Tutoriels pour créer les templates Joomla!, et 3 templates inclus

Maximenu CK

logo_maximenuck

Créez votre Megamenu Joomla! avec Maximenu CK. Multicolonnes, multirangés, chargement de module, nombreux effets, thèmes responsive.

Note utilisateur: 5 / 5

Etoiles activesEtoiles activesEtoiles activesEtoiles activesEtoiles actives
 

Compatibilité Joomla! joomla! 1.6joomla! 1.7mootools in joomla!

J'ai cherché pour un développement personnel dans mon composant Template Creator à conserver et mettre à jour la durée de la session dans une page sans avoir à la recharger. Dans cette page j'ai beaucoup de choses et l'utilisateur peut y passer un certain temps, durée qui peut être supérieure à la durée de la session ce qui fait que lorsqu'il enregistre ou rafraichit la page il est déconnecté. Très embêtant comme situation...

Voilà donc une petite méthode qui permet de prolonger la session sur un simple événement (clic sur un élément de la page).

Première étape créer la fonction dans le controleur principal :

/**
 * Update the session timer
 * @return void
 */
 function updatesession() {
     $session = &JSession::getInstance('none',array());
 }

C'est la fonction qui va permettre de mettre à jour le timer de la session.

Deuxième étape créer l'événement javascript et la requête ajax :

Pour l'exemple j'ai mis l'événement dans la vue du composant qui s'exécute au clic sur un texte. On peut très bien imaginer l'encapsuler dans une fonction qu'on appelle n'importe quand dans un script.

<script type="text/javascript">
    window.addEvent('domready', function() {
        document.id('test').addEvent('click', function() {
        
            var myurl = "index.php?option=com_moncomposant&task=updatesession";
            var packageRequest = new Request.HTML({
                url:myurl
            });
            packageRequest.send();
        });
    });
</script>

et le code HTML de mon bouton de test :

<div id="test">CLICK TO TEST SESSION</div>

Voilà, c'est très simple et ça fonctionne, le timer de session.timer.last dans la base de données se met à jour à chaque clic. On peut donc rester sur la page autant de temps que l'on veut sans avoir à enregistrer ou la quitter, tout ça sans crainte de perdre sa session.

 

Mentions légales

Site réalisé par Cédric KEIFLIN

Mentions légales

Copyright © 2010 - 2011

http://tutoriels-joomla.joomlack.fr n'est ni affilié à Open Source Matters ou au projet Joomla ni approuvé par eux.
Le nom Joomla!® est utilisé sous license limitée de Open Source Matters, le propriétaire mondial de la marque de commerce.

Compteur de visites

mod_vvisit_counterNombre de visiteurs1513271

Qui est en ligne

Nous avons 57 invités et aucun membre en ligne