Ainda existem muitas dúvidas de como usar ascondicionais b:if / b:else no Blogger. Vamos tentar explorar um pouco mais o assunto e falar também sobre as páginas do Blogger.
Primeiro vamos compreender melhor as condicionais.
Estrutura IF e Operadores
A instrução IF é utilizada nas mais diversas situações de programação, mas fica mais fácil de entende-la se usarmos um exemplo do cotidiano. Vou mostrar como é usada no Blogger:
1 <b:if cond='condições do clima == está chovendo'>
2 Fique em casa
3 <b:else/>
4 Vá ao mercado
5 </b:if>
- Na primeira linha colocamos "Se a condição do clima for igual a 'está chovendo'";
- Na segunda linha colocamos a instrução se essa condição for verdadeira;
- Na terceira colocamos "Senão"
- Na quarta linha colocamos a instrução se a condição for falsa;
- E por último, fechamos o código com o fechamento da tag b:if.
Podemos escrever de outra maneira:
1 <b:if cond='condições do clima != está chovendo'>
2 Vá ao mercado
3 <b:else/>
4 Fique em casa
5 </b:if>
Aqui mudamos o operador de == para != e invertemos a situação:
"Se a condição do clima for diferente de'está chovendo'"
Bem, vamos transportar isso para as páginas do Blogger.
Eu quero que determinado estilo se aplique à todas as páginas index e não quero que se aplique às páginas dos posts:
01 <b:if cond='data:blog.pageType == "index"'>
02 <style type='text/css'>
03 #main-wrapper {
04 border: 1px solid #000000;
05 }
06 <style>
07
08 <b:else/>
09 <style type='text/css'>
10 #main-wrapper [
11 border: 1px solid transparent;
12 }
13 <style>
14
15 </b:if>
"Se o tipo de página for igual a 'index'"
Coloque borda preta no main-wrapper
"Senão"
a borda será transparente.
Da maneira que escrevemos, a borda será colocada nas páginas: inicial, de categorias, e nas outras páginas index. E não será colocada nas páginas internas dos posts.
Antes de continuarmos vamos ver como são descritas as páginas do Blogger.
Páginas do Blogger
O Blogger contém 3 tipos de página. Mas não precisamos ficar presos apenas aos tipos de página quando queremos determinar uma condição à elas. Podemos usar também onome da página ou a url da página.
Tipos de página
Os tipos de página são:
- index - todas as páginas exceto as internas (das postagens) e as de arquivo;
- archive - as páginas dos arquivos;
- item - as páginas internas (das postagens).
Escrevendo condições para os tipos de páginas
A expressão usada para o tipo de página é blog.pageType
01 <b:if cond='data:blog.pageType == "index"'>
02 <!-- SE o tipo de página for igual a index -->
03
04 <b:if cond='data:blog.pageType != "index"'>
05 <!-- SE o tipo de página for diferente de index -->
06
07 <b:if cond='data:blog.pageType == "archive"'>
08 <!-- SE o tipo de página for igual a archive -->
09
10 <b:if cond='data:blog.pageType != "archive"'>
11 <!-- SE o tipo de página for diferente de archive -->
12
13 <b:if cond='data:blog.pageType == "item"'>
14 <!-- SE o tipo de página for igual a item -->
15
16 <b:if cond='data:blog.pageType != "item"'>
17 <!-- SE o tipo de página for diferente de item -->
Nome das Páginas
Quando o Blogger incluiu o blog.pageName (pouco mais de 1 ano atrás, se a memória não falha), foi aplaudido. Isso possibilitou a otimização dos títulos, usando as condicionais.
Mas não é só para os títulos que podemos usar o nome das páginas em condicionais. Podemos aplicar estilos à uma determinada página, ou colocar um widget apenas nessa página.
Vamos ver alguns exemplos.
Exemplo 1 - Widgets em páginas de marcadores
O widget de lista de blogs apenas nas páginas de um marcador chamado "Parcerias":
1 <b:widget id='BlogList1' locked='false' title='Blogroll'type='BlogList'>
2 <b:includable id='main'>
3 <b:if cond='data:blog.pageName == "Parcerias"'>
4 <!-- resto do código -->
5
6 </div>
7 </b:if>
8 </b:includable>
9 </b:widget>
Exemplo 2 - Estilos para a página de um só post
1 <b:if cond='data:blog.pageName == "LOREM IPSUM"'>
2 <style type='text/css'>
3 .post-body {
4 color: #cc0000;
5 }
6 </style>
7 </b:if>
Quando você escreve condicionais para o blog.pageName é importante usar exatamente a mesma grafia que você usou em seus posts. Por exemplo, se "Parcerias" foi escrito com a primeira letra em maiúscula, deve ser colocada assim também na condicional. No exemplo 2, LOREM IPSUM foi escrito todo em maiúsculas e assim deve estar também na condicional.
Url das páginas
Também podemos usar a url das páginas para colocar condicionais. Para isso usamosblog.url.
Exemplo 1 - Título do Blog não clicável na página inicial
1 <b:if cond='data:blog.url == data:blog.homepageUrl'>
2 <data:title/>
3 <b:else/>
4 <a expr:href='data:blog.homepageUrl'><data:title/></a>
5 </b:if>
Exemplo 2 - Estilo só na página de um determinado marcador
1 <b:if cond='data:blog.url == "http://NOME_DO_BLOG.blogspot.com/search/label/Parcerias"'>
2 <style type='text/css'>
3 .post-body {
4 color: #cc0000;
5 }
6 </style>
7 </b:if>
Widget só na página de um certo post
01 <b:widget id='BlogList1' locked='false' title='Blogroll'type='BlogList'>
02 <b:includable id='main'>
03 <b:if cond='data:blog.url == "http://NOME_DO_BLOG.blogspot.com/2009/03/lorem-ipsum.html"'>
04
05 <!-- resto do código -->
06
07 </div>
08 </b:if>
09 </b:includable>
10 </b:widget>
No artigo Widgets diferentes para cada página eu já tinha falado um pouco sobre este assunto, de maneira mais superficial. Com a possibilidade de criar estilos diferentes para cada página os pedidos para tutoriais e as perguntas a respeito das condicionais aumentaram bastante.
Mas elas não se aplicam apenas a estilos e widgets. São muitas as possibilidades de utilização


































0 comentários:
Postar um comentário
seja bem vindo ao mundo do doutorblogs, e sendo asim espéro ser merecedor de suas amizades e lhe convido para visitar mais e ser um dos Seguidor de nosso blogs.
atenciosamente douotrblogs.