Dernière visite: 24/2/2012 à 18:59
Sujet: Afficher un bloc précis en fonction du/des modules
Afficher un bloc précis en fonction du/des modules
Ici une petite astuce pour personnaliser encore mieux votre
portail.
En effet, Pour les blocs gauches et droites définis dans l'administration des blocs, ceux-ci seront visibles en accueil de votre site mais également sur tous les modules de votre portail.
Ex: Prenons le cas du block: block-Userpoints qui permet d'afficher les points des utilisateurs de vote site. Si vous affichez ce bloc comme bloc de gauche, celui-ci apparaitera en accueil mais également à gauche dans tous les modules de votre portail.
Ca n'a pas trop d'utilité et vous perdez également en lisibilité, l'intérêt pour ce block serait de l'afficher dans le module "Your_account" = Votre compte. Comme cela en vous rendant sur votre compte vous voyez également les points des autres utilisateurs.
Voici donc comment faire en deux minutes pour afficher le block-Userpoints seulement sur le module "Your_Account".
Ouvrez le fichier bloc: block-Userpoints.php dans /blocks/Userinfo
Au début du code, juste après:
Rajoutez:
Explications: Si le module en cours n'est pas 'Your_Account' on affiche rien. Ainsi ce bloc sera seulement affiché pour le module 'Your_Account' et pas pour tous les autres.
Voila très simple la seule modification à faire dans ce petit bout de code sera de remplacer le nom du module (nom du module= nom des répertoires dans le répetoire /modules/ de votre système selon vos besoins.
Vous pouvez même aller plus loin dans la reflexion en affichant également ce bloc pour le module userinfo = informations utilisateurs.
Voici le code:
Vous pouvez ainsi afficher le bloc dans plusieurs modules, il suffit comme présenté ci dessus, je rajouter à suivre dans le code du if :
Bon, mais pour la page d'accueil ?
Pareil, vous pouvez afficher des blocs en page d'accueil qui ne seront pas affiché dans les modules.
Deux possibilités, cf panel admin> modules
- Si vous avez défini un module en page d'accueil, vous indiquez simplment le nom du module comme indiqué dans le code ci-dessus
- Si vous n'avez aucun module en page d'accueil ( = blanck_Home), il vous suffit d'indiquer 'blank_Home' dans le nom du module pour votre code.
Laissez libre cours à votre imagination pour le choix des blocks a affciher ou pas en fonction des modules, TOUT EST POSSIBLE
En effet, Pour les blocs gauches et droites définis dans l'administration des blocs, ceux-ci seront visibles en accueil de votre site mais également sur tous les modules de votre portail.
Ex: Prenons le cas du block: block-Userpoints qui permet d'afficher les points des utilisateurs de vote site. Si vous affichez ce bloc comme bloc de gauche, celui-ci apparaitera en accueil mais également à gauche dans tous les modules de votre portail.
Ca n'a pas trop d'utilité et vous perdez également en lisibilité, l'intérêt pour ce block serait de l'afficher dans le module "Your_account" = Votre compte. Comme cela en vous rendant sur votre compte vous voyez également les points des autres utilisateurs.
Voici donc comment faire en deux minutes pour afficher le block-Userpoints seulement sur le module "Your_Account".
Ouvrez le fichier bloc: block-Userpoints.php dans /blocks/Userinfo
Au début du code, juste après:
- Code:
-
defined('mxMainFileLoaded') or die('access denied');
Rajoutez:
- Code:
-
if (MX_MODULE != 'Your_Account') { $mxblockcache = false; return; }
Explications: Si le module en cours n'est pas 'Your_Account' on affiche rien. Ainsi ce bloc sera seulement affiché pour le module 'Your_Account' et pas pour tous les autres.
Voila très simple la seule modification à faire dans ce petit bout de code sera de remplacer le nom du module (nom du module= nom des répertoires dans le répetoire /modules/ de votre système selon vos besoins.
Vous pouvez même aller plus loin dans la reflexion en affichant également ce bloc pour le module userinfo = informations utilisateurs.
Voici le code:
- Code:
-
if (MX_MODULE != 'Your_Account' && MX_MODULE != 'Userinfo') { $mxblockcache = false; return; }
Vous pouvez ainsi afficher le bloc dans plusieurs modules, il suffit comme présenté ci dessus, je rajouter à suivre dans le code du if :
- Code:
-
&& MX_MODULE != 'Nom_de_votre_module'
Bon, mais pour la page d'accueil ?
Pareil, vous pouvez afficher des blocs en page d'accueil qui ne seront pas affiché dans les modules.
Deux possibilités, cf panel admin> modules
- Si vous avez défini un module en page d'accueil, vous indiquez simplment le nom du module comme indiqué dans le code ci-dessus
- Si vous n'avez aucun module en page d'accueil ( = blanck_Home), il vous suffit d'indiquer 'blank_Home' dans le nom du module pour votre code.
Laissez libre cours à votre imagination pour le choix des blocks a affciher ou pas en fonction des modules, TOUT EST POSSIBLE
[Edité le 30/12/2011 à 13:00 par VatMx]
-
VatMx - Administrateur

- Messages 4
- Inscrit(e) le: 1/11/2010


Posté le 30/12/2011 à 13:00 par VatMx