VideoAudioTechnologie Propulsé par PragmaMx CMS Ultra Rapide

Dernière visite: 24/2/2012 à 18:59

Sujet: Afficher un bloc précis en fonction du/des modules

Tri ascendant Tri descendant
red_folder.gif

Afficher un bloc précis en fonction du/des modules

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

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:
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
VatMx
Administrateur
Junior Member
 
Messages 4
Inscrit(e) le: 1/11/2010

Sujet précédent