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 obter o efeito inverso, ou seja, ocultar elementos em páginas específicas, consulte o Hack “Ocultando elementos em páginas específicas no Blogger”.
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