N'afficher des gadgets que sur certaines pages

obtenir ces boutons

N'afficher des gadgets que sur certaines pages

Il est possible de ne faire apparaître des gadgets que sur certaines pages. La méthode est la suivante :

1) Chercher le nom du gadget. La méthode est expliquée ici. Exemple : "HTML1".

2) S'il faut supprimer un gadget pour un seul message, la méthode la plus simple est d'insérer le code suivant dans la version HTML du message :

<style type="text/css">#HTML1{display:none;}</style>

De la même manière, pour supprimer les commentaires pour un seul message, il suffit d'insérer le code suivant dans la version HTML du message :

<style type="text/css">.comments{display: none;}</style>

remarque : on peut aussi le faire en cliquant sur "Options" en bas à droite.

3) S'il faut ajouter un gadget pour un seul message, la méthode la plus simple est :

- d'insérer le code suivant dans la partie centrale en CSS (mise en page) du template :

#HTML1{display:none;} : cela empêche l'affichage ;

- ET d'insérer le code suivant dans la version HTML du message :

<style type="text/css">#HTML1{display:block;}</style> : cela affiche le gadget pour ce message seulement.

Cette méthode ne présente qu'un inconvénient : quand #HTML1{display:none;} est ajouté dans le template, le gadget n'apparaît pas dans "Mise en page". Il faut donc supprimer temporairement cette instruction si on veut modifier le gadget.

* * * * *
Dans les autres cas, dans le "Tableau de bord", cliquer sur "Modèle" puis sur "Modifier le code HTML".

Avec le nom du gadget, chercher (Ctrl+F) le paragraphe qui le concerne. Il ressemble à ceci :

<b:widget id='HTML1' locked='false' title='' type='HTML'>
<b:includable id='main'>

CODE RELATIF AU GADGET

</b:includable>
</b:widget>

1) Avant </b:includable>

insérer :

</b:if>


2) Pour afficher le gadget sur les pages qui ne contiennent qu'UN SEUL MESSAGE :

après : <b:includable id='main'>

insérer :

<b:if cond='data:blog.pageType == "item"'>


3) Pour afficher le gadget sur les PAGES "INDEX" qui contiennent plusieurs messages :

après : <b:includable id='main'>

insérer :

<b:if cond='data:blog.pageType == "index"'>


4) Pour n'afficher le gadget que sur la PAGE D'ACCUEIL :

après : <b:includable id='main'>

insérer :

<b:if cond='data:blog.url == data:blog.homepageUrl'>


5) Pour n'afficher le gadget que sur une PAGE SPÉCIFIQUE :

après : <b:includable id='main'>

ajouter :

<b:if cond='data:blog.url == "http://..."'>


en ayant complété l'adresse (http://...) de la page concernée.

6) Pour n'afficher le gadget que sur une page concernant un LIBELLÉ :

après : <b:includable id='main'>

ajouter :

<b:if cond='data:blog.url == "http://..."'>


en ayant complété l'adresse (http://...) de la page concernée (à récupérer en haut de l'écran après avoir affiché une page concernant un libellé : l'adresse se termine par "search/label/" suivi du nom du libellé).

7) Pour n'afficher le gadget qu'avec des "PAGES STATIQUES" (pages autonomes de blogger) :

après : <b:includable id='main'>

ajouter :

<b:if cond='data:blog.pageType == "static_page"'>


8) Pour n'afficher le gadget qu'avec des PAGES D'ARCHIVES :

après : <b:includable id='main'>

ajouter :

<b:if cond='data:blog.pageType == "archive"'>


* * * * *
Toutes les conditions positives ci-dessus peuvent être remplacées par des conditions négatives. Dans ces cas les conditions seront : si ... n'est pas ...

Il suffit de remplacer == par !=

* * * * *
Autre méthode : ne pas afficher un ou plusieurs gadgets (par exemple HTML1) sur certaines pages :

Après :
]]></b:skin>
ajouter :
<b:if cond='...............................................'>
<style type="text/css">
HTML1
{
display: none;
}
</style>
</b:if>
Remarque : on peut ajouter les noms des gadgets les uns à la suite des autres, séparés par une virgule, dans la troisième ligne du code.

* * * * *
Il est plus facile d'ajouter des instructions à la fin du template, juste avant </head>

Exemple : ajouter :

<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:blog.pageType != "static_page"'>
<style>
.post-footer {display: none;}
</style>
</b:if>
</b:if>

* * * * *
Si l'objectif, en supprimant des gadgets de certaines pages, est de créer une page d'accueil totalement différente des autres pages, on peut se simplifier la vie, en CRÉANT UN SECOND BLOG qui contiendra tous les messages, tandis que le premier ne contiendra qu'une page d'accueil et un lien vers le second blog.

* * * * *
Les gadgets peuvent allonger inutilement la colonne latérale. Pour raccourcir la colonne latérale, on peut très facilement remplacer des gadgets par de simples liens. En cliquant sur ces liens, on fait apparaître les gadgets cachés.

Exemple : dans la colonne de gauche de ce site, se trouve le lien : FORMULAIRE DE CONTACT ▼. En cliquant dessus, le gadget apparait.

En cliquant ensuite sur "fermer ▲", le gadget est à nouveau masqué.

Autre exemple : plus bas dans la colonne de gauche de ce site, cliquer sur le lien : MUSIQUE EN LIGNE ▼.

On peut faire cela avec tous les gadgets : méthode : consulter la page disponible ici.

9 commentaires:

Client a dit…

Merci ... Très fonctionnel !
Sur ma page d'accueil j'utilise un gadget "html/java" pour ne pas afficher de messages et avoir une page statique.
Cette solution permet de ne pas dupliquer ce gadget dans les autres pages du blog.
mon Blog => Cellules Souches Adultes
;o)) ... Merci !

Gavé Bon a dit…

Bonjour,
Je ne sais pas si c'est parce que j'ai téléchargé un template provenant de wordpress qui a été adapté à Blogger, mais je ne trouve pas les gadgets écrits pareils le code HTML, je ne peux donc pas faire ta superbe manip qui me permettrait de n'avoir mes gadgets que sur ma page d'accueil.
Crois tu pouvoir me dire ce que je dois faire avec mon code please? Merci infiniment d'avance.
Le lien de mon blog :
http://testjdaye.blogspot.com/

Merci encore

Meiser a dit…

1) Pour le gadget HTML1, le code commence par :
div class='widget HTML' id='HTML1'

Figure ensuite le code relatif au gadget "Image5".

...

2) Vous pouvez aussi appliquer la seconde méthode expliquée au point 9 ci-dessus.


Solosh a dit…

Bonjour,
Tout d'abord un grand merci pour votre blog qui est une vrai mine d'or.
J'ai bien suivi tous vos conseils pour ne mettre des gadgets que sur certaine page, et cela fonctionne c'est super. En revanche j'ai des zones de vide qui se crée quand je ne veux pas les mettre. Et-il possible de remonter les gadget d'une page à l'autre pour qu'ils soient tous au même niveau ?
Mon blog : www.grennaproduction.com
Merci beaucoup...

Erwan Lescop a dit…

Bonjour,

Pardonnez-moi par avance, je "redécouvre" Blogger... autant dire que je me retrouve quasiment novice.

Autant la technique 4 fonctionne parfaitement pour moi, autant la n°6 fait disparaître le widget sur toutes les pages et y compris sur la page "ciblée" :-(

Y a-t-il une erreur dans le code relatif au widget "HTML2" sur blog.erwanlescop.fr... ? Notamment sur le pointage vers l'URL de la page... ? Merci VIVEMENT par avance... !!!

Très cordialement,

E.L.

Meiser a dit…

Il faut revérifier l'adresse, sachant que la méthode fonctionne : elle a été utilisée pour ce site.

Il faut refaire des tests avec une autre page et une autre adresse pour voir ce qui cloche.


FLO a dit…

J'ai le même soucis: je parviens à afficher un widget uniquement sur la page d’accueil mais quand j'essaye de le faire apparaitre sur une page précise, cela ne fonctionne pas: le widget n'apparait jamais. L'adresse est pourtant bonne. Qu'en pensez-vous? Les lignes de codes ont-elles évoluées depuis l'écriture de cet article?

Meiser a dit…

Bonjour.

A priori, cela devrait fonctionner.

Quel code avez-vous essayé d'ajouter ?


Frankie Bastide a dit…

Bonsoir,

Lorsque je modifie le code HTML pour afficher mon widget uniquement sur la page d'accueil j'ai l'erreur suivante :

Erreur d'analyse XML, ligne 1317, colonne 3 : The element type "b:widget" must be terminated by the matching end-tag ""..


D'où vient le problème ?

Je vous remercie.