Fazer um tema para o WebSphere Portal é um desafio dependendo dos requisitos, normalmente do pessoal do marketing. São menus dinâmicos, um monte de CSS imagens etc. Outro problema é fazer o tema funcionar em vários browsers (nada de diferente para aplicativos comuns em ambiente web).
O difÃcil é ficar contornando bugs principalmente do nosso amigo IE7. Um bug conhecido é a forma como o IE7 interpreta o CSS quando queremos um layout centralizado, muito comum hoje. Desde o meu primeiro projeto com Portal 6 tive de implementar um layout assim só que os browsers onde testei o código eram IE6 e Firefox 2.0.
Novamente nosso time teve de fazer um tema com layout centralizado e tudo estava indo bem até os testes com IE7. O tema ficava correto no IE6,IE8,Firefox 2.x ,3.0 e 3.5 mas no IE7 ele ficava sempre a esquerda.
Solução:
1 – Editar o default.jsp do tema utilizado e colocar uma tag DIV após o BODY e antes da DIV id=FLYParent> como exemplo DIV CLASS=”NOME DA CLASSE”
e fechar esta DIV após o /BODY. O que isto faz é colocar a página do portal dentro de uma DIV
2 – Criar a referência desta DIV no styles-theme.jspf da forma como está abaixo
.NOME DA CLASSE {
background-color:#FFFFFF;
height:100%;
margin:0 auto;
padding:0;
width:940px;
}
3 -Formatar a id FLYParent com os seguintes itens, no mesmo arquivo:
#FLYParent {
background-color:#FFFFFF;
float:left;
width:940px;
}
Até aqui tudo certo conforme achei pesquisando na Web este contorno para o bug, mas somente centralizou no portal depois que foi feito o seguinte:
Acrescentar uma imagem (veja abaixo (neste caso ela está em branco pq o fundo é branco) na pasta do tema em colors/default/
Referenciar esta imagem no styles-theme.jspf da seguinte forma e acrescentar os itens caso não tenha:
body {
background:#FFFFFF url(./colors/default/fullBackground.jpg) repeat-y scroll center top;
color:#FFFFFF;
margin:0;
padding:0;
}
Editar body, html também da seguinte forma no mesmo styles-theme.jspf:
body, html {
height:100%;
margin:0;
padding:0;
width:100%;
}
Pronto!! Créditos para o Vinicius Afonso que trabalhou comigo para contornar este problema.