, , ,

Exibindo um elemento apenas na página inicial, ou de marcadores, ou de postagens, no Blogger

51 comentários
Blogger Hacks 

Este Hack é muito importante para quem quiser deixar seu Blogger/Blogspot com uma cara mais profissional. Consiste em esconder ou exibir widgets dependendo do tipo de página que está sendo visualizada, como a página inicial, de postagens, marcadores e arquivo. Com ele, podemos, por exemplo, exibir um banner ou anúncio apenas quando o usuário estiver vendo a página inicial do blog, e outro, em local diferente, quando ele estiver visualizando uma postagem. As possibilidades são imensas!

Para controlar a exibição de um elemento/widget/gadget no seu template, faça o seguinte:

Acesse o seu Painel do Blogger e selecione Layout, então clique em Editar HTML para entrar no modo de edição do código do seu Template. Então marque a opção Expandir modelos de widgets.

Não se esqueça de fazer o backup do seu template antes de realizar as alterações no código, clicando em Baixar modelo completo.

Encontre o widget que você deseja controlar a exibição, através do título dele (utilizando o Ctrl+F do seu navegador). Caso o widget não tenha um título, vá em Elementos de Página e dê um título a ele (poderá ser removido depois). Você encontrará algo parecido com isso:

<b:widget id='HTML1' locked='false' title='Título' type='HTML'>

Este é apenas um exemplo, o trecho não precisa ser HTML1, ou locked=’false’. Você deverá encontrar seu widget através do título.

Agora vamos analisar o restante do código, para que possamos aplicar o Hack (parte vinho): 

<b:widget id='HTML1' locked='false' title='Título' type='HTML'><b:if cond='data:blog.pageType != "item"'>

<b:includable id='main'>

(código específico da variável)

- código fonte do Widget -

</b:if>

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

A parte “- código fonte do Widget –” é apenas uma representação do código do Widget que você encontrará entre as partes verdes.

Então vamos acrescentar o código entre <b:includable id='main'> e </b:includable>, que está em vinho, SUBSTITUINDO a parte “(código específico da variável)” pelo código desejado: 

Mostrar apenas nas páginas de postagens:
<b:if cond='data:blog.pageType == "item"'>

Mostrar apenas na página incial:
<b:if cond='data:blog.homepageUrl == data:blog.url'>

Mostrar apenas em uma postagem específica:
<b:if cond='data:blog.url == "URL do post"'>

Mostrar na página inicial, de marcadores e arquivo:
<b:if cond='data:blog.pageType != "item"'>

Mostrar apenas em uma página de marcador específica:
<b:if cond='data:blog.homepageUrl == "http://URL_do_Blog/search/label/Marcador"'>

Mostrar nas páginas de arquivo:
<b:if cond='data:blog.pageType == "archive"'>

Mostrar na página de marcadores e postagens:
<b:if cond='data:blog.homepageUrl != data:blog.url'>

Mostrar apenas na página de marcadores:
<b:if cond='data:blog.homepageUrl != data:blog.url'> 
<b:if cond='data:blog.pageType != "item"'>

Atenção: Neste caso deve ser acrescentado mais um </b:if> antes de </b:includable>

Por exemplo, vamos supor que eu queira que meu widget de título “Publicidade” apareça somente na página inicial. Então vou encontrá-lo através do título e acrescentar o código, deixando-o assim:

<b:widget id='HTML1' locked='false' title='Publicidade' type='HTML'><b:if cond='data:blog.pageType != "item"'>

<b:includable id='main'>

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

- código fonte do Widget -

</b:if>

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

O Hack também funciona para elementos que não sejam widgets, como partes em HTML. Neste caso, basta colocar o código em vinho antes do início do código e o </b:if> após o fim.

Visualize para ver se está tudo correto e clique em Salvar Modelo.

Agora os widgets aparecerão apenas nas páginas que você determinou.

Se o Hack não funcionar ou causar erros no seu template, desfaça as alterações clicando em Limpar Edições ou utilize o backup que você criou e clique em Fazer Upload, então refaça todo o processo.

Referências:
UsuárioCompulsivo | Scrapur

Comentários (51)
eusoqueriaumcafe.com 20/03/09 18:21

DEUS LHE PAGUE! Você é O CARA! Valeu!

eusoqueriaumcafe.com 20/03/09 18:31

Nossa, novamente, obrigado demais, meses e meses esperando por esse código nenhum outro blog ajudava ou respondia! Valeu demais da conta (mineirinho - risos)!

GAMA 20/03/09 22:43

faltou o page type = archives


^~

monthiel.com 25/03/09 14:00

Cara, eu usei em meu blog. Ficou muito bom. Na página inicial tem um mini-shop na sidebar, mas nas páginas de artigos elas não aparecem. Show de bola. Valeu!

Abs,
@monthiel

centralfitness 26/03/09 11:56

e se não tiver titulo, como eu seleciono ele para aprecer em determinada página?

iceBreakerSérgio Estrella26/03/09 12:14

Como eu disse no tutorial: "Caso o wdiget não tenha um título, vá em Elementos de Página e dê um título a ele (poderá ser removido depois)"

Marden Jump 13/05/09 17:56

Olá Sergio,
é possível eu ocultar o widget apenas numa postagem?
Por exemplo: Fotos, Contato.
No caso se desse eu substituo a url do post por qual parte do código!

Abs

CentralFitness 19/05/09 16:58

Obrigado

Avisa o pessoal que tem que expandir modelos Widget!

Victor 10/06/09 12:30

Valew brother, você "salvou vidas" xD

Johnny Rox 16/06/09 14:36

Depois do lamentável desaparecimento do Blog a la Carte, este foi o tutorial mais completo que já encontrei.

ADM-Filmolatas 21/06/09 07:16

Muito bom o tutorial, o problema e que no meu so some o titulo do widget o que ta nele continua em todas as paginas no meu caso e um chat em flash ñ sei se isso tem aver com o problema ajude me por favor!

ViNi Oliveira 13/07/09 16:25

é cara...
tem como eu fazer o widget aparecer só em uma postagem?

tipo... eu pegaria o link da postagem e colocaria dentro desse código aí, mas como faria isso?

ou se não der pra ser por link da postagem
podia ser direto por um determinado marcador, pegaria o nome do marcador e colocaria dentro desse código aí, tem como?

valeu

Jay Goiana 15/07/09 12:03

eu não conseguindo parceiro...
por favor eu preciso fazer isso funcionar

todomundonazona 16/07/09 10:27

parceiro eu não to conseguindo...
meu template ao invés de ter HTML1 tem label
funciona assim mesmo?

Ricvelozo 03/08/09 17:32
Este comentário foi removido pelo autor.
Ricvelozo 03/08/09 17:35

Obrigado!

Eu estava esquecendo do "data:" e das aspas adicionais em torno de "item", por isso tava dando errado para mim. Olhar este post me ajudou muito. Valeu!

EXTREME RESCUE 04/10/09 14:50

Amigo, Estou com um problema... Não consigo ocultar posts de marcadores específicos na minha página principal... Vc pode me ajudar?

Marcos-Bikimam 02/11/09 19:15

Tem como voce faze um jeito, para apareçer as colunas do blog , só no inicio ? se tiver posta ai ! obrigadao ! mesmo assim !

R.R. Alves 18/01/10 04:06

VLW

Valeu , muito útil.
Sempre me esqueço delas....

SINDCAN 29/03/10 21:34

tem como ocultar a sidebar das páginas?? por exemplo eu tenho duas no meu blog e gostaria que elas não aparecessem nas páginas especificas a exemplo: contatos e etc.

agradeço muito pela dica, e um belo trabalho.

Diogo Savoldi 24/05/10 00:34

Sérgio, geralmente eu -nãogosto/nãotenhotempo-, de fazer comentários em blogs, más diantes dessa postagem eu tenho que abrir uma exceção, acompanho o icebreaker a um bom tempo, e aprendi muito por aqui!
Agora estou na criação do meu template, já estou a um bom tempo trabalhando nele, e resolvi adicionar elementos que dariam um ambiente melhor á este, estou seguindo alguns tutorias do icebreaker :)

/-- Esta postagem me abriu um monte de idéias para dinamizar meus anuncios no site então... Valeu mesmo, parabéns pelo site e sucesso com o mesmo --/

MorelHP 01/06/10 18:47

tem como tira apenas ou colocar na pagina de resultados, busca

ValPress Conexões 04/07/10 16:32

D+!!

Muito obrigada!!!

SIMON 08/07/10 23:21
Este comentário foi removido pelo autor.
SIMON 08/07/10 23:23

Cara, precisa corrigir uma coisa.
Para mostrar widgets nas páginas de um "marcador específico", deverá ser utilizado o código de "postagem específica".
Ou seja:
Ao invés de usar o código do --> "Mostrar apenas em uma página de marcador específica"
Deverá ser usado --> "Mostrar apenas em uma postagem específica"
Só depois de fazer isso eu consegui.
Valeu.

Olá

Parabéns pelo Blog.

Meu blog Missões e Adoração bebeu muito da sua fonte. Obrigado.

Gostei da ideia, mas, queria que qualquer postagem de uma determinada categoria exibisse um widget de texto. Como se fosse uma "apresentação" da categoria.

Não achei esta opção entre as muitas que você listou. Você conhece a solução para isso?

André 11/10/10 23:51

Parábens pelo post.

Cara, consegui usar as dicas em alguns elementos, ams não consegui fazer funcionar nos anúncios do adsense na sidebar. Queria que aparecesse um bloco de anúncios só na página inicial. Existe algum macete para isso?

André
andregsanchez@gmail.com

Flávio Pinto Valle 07/11/10 17:16

Como faço para exibir apenas nas páginas de postagens que possuem um marcador específico?

Ars Amandi 31/12/10 17:57

Muito bom! Obrigada!

Anônimo 07/03/11 17:51

Esse código é o único que não está funcionando, ja testei 4 vezes em mais de um blogger :/

*Mostrar apenas em uma página de marcador específica*

CH 14/03/11 09:59

Muito bom

W. Luis 26/03/11 16:04

como faço pra deixar na página inicial, somente uma postagem? Não há opção de escolher uma pagina que fiz, como sendo a inicial do blog?

ana costa 06/04/11 08:02

obrigada pelas dicas que me têm ajudado muito!
agora tou tentando esconder elementos mas não tou conseguindo. sigo tudo direitinho mas no final quando vou publicar aparece uma meng. de erro assim: "Não foi possível analisar o seu modelo, pois sua formatação é inadequada. Certifique-se de que todos os elementos XML estão fechados adequadamente.
Mensagem de erro em XML: The element type "b:if" must be terminated by the matching end-tag "".
Error 500"
pode ajudar-me?

Ariane 01/06/11 21:17

No começo ñ estava entendendo, mas logo descobri que tava faltando fechar o código, aí consegui.
Obrigada.

Best Designer 18/06/11 10:09

bom

Igor Henrique 02/08/11 09:05

Para não exibir somente em uma página específica, usa-se a condição aplicando assim:






Visitem: www.powartedesign.com

Ótima post Sérgio. :)

Henrique Rodrigues 02/08/11 09:14

Não apareceu o código, caso queiram, me adicionem no msn, ig.henriquerodrigues@gmail.com

Michael Bastos 14/08/11 16:32

ajudou bastante
Parabens

Oi.. fiz, ficou certinho, ou quase. Coloquei para ocultar alguns Widgets nas paginas internas, porem quando oculta, aparece uma caixinha cinza quando onde ficou o widgets ocultado. Da uma olhada... www.guia-atual.com vlww

Paulo Griese 08/10/11 06:28

Bom dia, Sérgio
No meu Blogspot, quando fui visualizar após a alteração com o código, , apareceu a seguinte mensagem:

Não foi possível analisar o seu modelo, pois sua formatação é inadequada. Certifique-se de que todos os elementos XML estão fechados adequadamente.
Mensagem de erro em XML: The element type "b:if" must be terminated by the matching end-tag "".

Error 500

E agora?
Tem solução?

Antecipadamente
Grato

Paulo

Pietro 12/10/11 19:10

Eu fiz exatamente isso... Mas quando você entra nas postagens (páginas em que o gadget está oculto) aparece uma "caixinha" que não consigo tirar de jeito nenhum (nem com CSS). Da uma olhadinha: o endereço do blog é http://www.bovoqui.com

Matheus Ribeiro 15/10/11 12:33

Boa dica!
--
Pietro

Já tentou ir no CSS referente a esse gadget e incluir a linha "display: none;"?

Beatriz Marks 12/12/11 20:13

Os novos códigos do Blogger complicaram um pouco o meio de campo rss

Se você puder ajudar esta iniciante a blogueira que ja estava acostumada com o código antigo eu agradeço.

Beijos

Marcos Soares 14/12/11 16:33

Certo, mas como fazer com os código do novo blogger? Fui tentar colocar um banner para aparecer somente na página inicial mas não consegui. Como fazer agora?

Grato!

Muito bom deu certinho do jeito que você disse. O modelo se enquadra dentro do código do novo Blogger.

Guilherme 24/12/11 17:44

Eu fiz até a parte que você falou para renomear o widget, depois eu procurei no layout > html, daí ficou da seguinte forma:



depois disso, já tentei fazer de várias formas, como está demostrado acima, mas, nada deu certo.
Esse é um slide que eu quero deixar só na página inicial do blog.

se você puder me ajudar, eu agradeço.

Abraços.

Natanael 06/01/12 11:11

vc é o cara n sei o q seria de nós sem vc.

Pragas da Agronomia 17/01/12 14:53
Este comentário foi removido pelo autor.
Pragas da Agronomia 17/01/12 14:54

olá eu estou tendo o msm problema que muitos com respeito ao fato de conseguir exibir somente na página principal, mas depois nas outras aparece uma caixinha no lugar. Se você puder me ajudar e agradeço.

Ariane 10/02/12 22:18

Vlw. Isso é muito útil. :D

Postar um comentário