Virtuemart - rediriger le client vers la boutique apres login Virtuemart

Situation de départ: boutique Virtuemart version 1.1.8 stable installé sur une version 1.5.23 de Joomla. Dans ma configuration je veux que la boutique ne soit accessible qu'aux membres enregistrés (mod_product_categories en mode privé) et accessible après login Virtuemart (mod_virtuemart_login en mode public).

Une première solution consiste à modifier le menu > Main Menu > Editer 'Home' et à changer son type pour un lien interne 'Virtuemart' mais cette solution ne m'a pas satisfaite car la page de login de mon site se présente avec deux modules de Login, celui de Virtuemart et celui propre à Joomla. Il existe une possibilité de substituer la module de Login Joomla au module Login de Virtuemart mais je ne développerai pas cette procédure ici.

La seconde solution, que je vais développer dans ce tutoriel,consiste à rediriger le client automatiquement vers la première page de la boutique Virtuemart après son Login au travers du module de Login propre à Virtuemart. Par défaut, après s'être logué avec le module de login Virtuemart, le client est redirigé vers la page d'accueil de Joomla par défaut.

Nous allons voir ci-dessous comment procéder.

1/ Je part d'un site de e-commerce et je veux que le client se retrouve directement dans la boutique après s'être logué.

2/ Dans la partie administration du site, accédez à Extensions > Gestion des modules.

3/ Repérez le module 'mod_virtuemart_login et publiez le en cliquant sur son nom (lien bleu partie gauche de la ligne, non visible sur cette capture d'écran).

4/Dans la partie 'Paramètres' du module mod_virtuemart_login nous allons modifier 'Login redirection'

5/ Sélectionnez 'Virtuemart Home Page'

6/ Sauvez

7/ Nous allons maintenant devoir modifier les attributs de l'option 'Virtuemart Home page' car cette page n'est pas la page de la première page de la boutique mais la page d'accueil de Virtuemart.

Sur votre site distant, à l'aide d'un client FTP (FileZilla) dans mon cas, naviguez vers la fichier mod_virtuemart_login.php situé à l'emplacement ci-dessous:

www/modules/mod_virtuemart_login/mod_virtuemart_login.php

8/ Glissez/déposez ce fichier sur votre ordinateur à l'emplacement de votre choix.

Je vous conseille toutefois de conserver un fichier original, déposé dans un dossier 'original' par exemple et de travailler sur une copie de ce fichier.

9/ A l'aide d'un éditeur de texte (Dreamweaver , Notepad++) ouvrez le fichier mod_virtuemart_login.php, rendez vous à la ligne 81 (sous Dreamweaver), elle est d'origine rédigée ainsi:

 

// The VirtueMart home page
$url = JRoute::_( 'index.php?option=com_virtuemart&page='.HOMEPAGE.'&Itemid='.$sess->getShopItemid(), false );

 

 

10/ Remplacer la partie index.php?option=com_virtuemart&page= par l'adresse de la première page de votre boutique, afin d'évitez les erreurs faites un copier/coller depuis votre navigateur, dans mon cas la ligne 81 devient:

 

// The VirtueMart home page
$url = JRoute::_( 'index.php?option=com_virtuemart&page=shop.browse&category_id=1&Itemid=1&vmcchk=1&Itemid=1'
.HOMEPAGE.'&Itemid='.$sess->getShopItemid(), false );

Attention de bien conserver les simples guillemets avant et après.

 

11/ Il vous suffit maintenant de remplacer, sur votre site distant, le fichier mod_virtuemart_login.php original par celui que vous venez de modifier grâce à votre client FTP.

A Bientôt

Patrick

Imprimer