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.