Menu aparecendo por traz dos componentes primefaces
22 respostas
G
GustavoFreitas
olá pessoal,
estou desenvolvendo uma aplicação utilizando os componentes visuais primefaces. É um modelo padrão que todo mundo acho que já fez: um menu que ao clicar na opção desejada abre uma tela com um grid que está ligado a uma tabela. Quem programou em Delphi conhece muito bem o estilo. Mas acontece que ao passar o mouse em cima da barra de menu, a lista da opção selecionada está aparecendo atras do componente do primefaces, ou seja, atras do grid.
Basicamente ho html é uma pagina index.html que tem uma div que é carregada dinamicamente de acordo com a opção selecionada.
Olá amigo, não funcionou. Estou usando os themes, retirei do web.xml.
Tenho um arquivo chamado geral.css, que carrego logo no início:
Coloquei o que vc fez nesse arquivo mas não funcionou. O menu que estou usando não é do primefaces, será esse o problema? Porque o css desse menu é outro.
Gustavo Freitas
A
AmauriSpPoa
Eu uso algo parecido, talvez te ajude.
Mas não usa ajax para mudar de tela.
Template
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<ui:include src="../WEB-INF/component/header.xhtml"/><!--aqui estou incluindo um xhtml que tem meus estilos personalizados e eventuais js's-->
</h:head>
<h:body>
<p:layout fullPage="true">
<p:layoutUnit position="north" size="50">
<ui:include src="../WEB-INF/component/menu.xhtml"/><!--aqui estou incluindo um xhtml com o menu no seu caso já deve ter isso pronto-->
</p:layoutUnit>
<p:layoutUnit position="center">
<ui:insert name="content">Content</ui:insert>
</p:layoutUnit>
</p:layout>
<ui:insert name="out">Out</ui:insert>
<p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/>
<p:dialog modal="true" widgetVar="statusDialog" header="Aguarde...."
draggable="false" closable="false">
<p:graphicImage library="images" name="ajaxloadingbar.gif" alt="Aguarde...."/>
</p:dialog>
</h:body>
</html>
Um exemplo de cliente do template
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
template="../../template/report.xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core">
<ui:define name="content">
<!--aqui vai o conteudo da sua pagina-->
</ui:define>
<ui:define name="out">
<!--aqui vai todos os dialogs pois o p:layout impacta na exibição dos dialig's-->
</ui:define>
</ui:composition>
E o trecho do css para o menu sobrepor o restante da tela
Voce esta usando tags html ao inves de usar as tags do primefaces, e provavelmente dentro de um arquivo .html, verifique, pois o JSF roda por padrão em arquivos .XHTML
Alguém tem alguma ídeia do que possa estar acontecendo?
Voce esta usando tags html ao inves de usar as tags do primefaces, e provavelmente dentro de um arquivo .html, verifique, pois o JSF roda por padrão em arquivos .XHTML
Concordo, utilize o menu do Prime, é a melhor solução.
G
GustavoFreitas
Bom dia Amauri,
está me ajudando bastante, lhe agradeço muito. Então resolvi seguir seus passos e resolvi fazer um pequeno teste aqui. mas na hora de rodar que nao aparece nada, a tela fica em branco. Nao consegui ver onde está o erro, pode me dar uma ajuda?
Abaixo segue os fontes,
Criei um menu2.html, o principal:
<?xml version='1.0' encoding='UTF-8' ?>
E os menu.xhtml e header.xhtml, o menu peguei do próprio site da primefaces, e está funcionando perfeitamente.
Mostra o codigo completo dessa sua pagina por favor.
R
rof20004
Ahhhh, dentro das tags code ok ? =D
G
GustavoFreitas
Segue em anexo os fontes
G
GustavoFreitas
Lhe mandei o indexhtml antigo, segue no anexo o novo
R
rof20004
E o codigo onde ta o datatable, tem como mandar tb ?
G
GustavoFreitas
Olha ele aí, é bem simples só tem a imagem por enquanto
G
GustavoFreitas
Segue a imagem de fundo
R
rof20004
Faz um teste, substitui todo seu index.html, por esse conteudo ai, e OUTRA, mude a extensao dele para .XHTML
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"xmlns:p="http://primefaces.org/ui"><h:head><metacharset="UTF-8"><title>BIT Auto-peças</title><linkrel="stylesheet"type="text/css"href="./defaultTheme/css/geral.css"/><linkrel="stylesheet"type="text/css"href="./defaultTheme/css/menuheader.css"/><scripttype="text/javascript"src="./js/ajax.js"></script><scripttype="text/javascript"src="./js/instrucao.js"></script><styletype="text/css">body{background:url('./defaultTheme/img/bg_bluewhite2.png')repeat-x;}</style></h:head><h:body><divid="pagina"><divid="conteudo_menu"><divclass="menusup"id="menusup"><navid="menu-support"><ul><li><ahref="#">HELP</a></li><li><ahref="#">SUPORTE</a></li><li><ahref="#">CONTATO</a></li><li><ahref="#">LOGIN</a></li><li><ahref="#">SAIR</a></li></ul></nav></div><ulid='menu-bar'><liclass='home'><ahref='index.html'>Home</a></li><liclass='has-sub '><ahref='#'>Cadastros</a><ul><liclass='has-sub '><ahref='#'onclick="abrirPag('cadastros/companyList.jsf');">Empresas</a><liclass='has-sub '><ahref='#'onclick="abrirPag('cadastros/clientList.jsf');">Clientes</a><liclass='has-sub '><ahref='#'>Produtos</a><ul><li><ahref='#'>Produtos</a></li><li><ahref='#'>Fabricantes</a></li><li><ahref='#'>Modelos</a></li><li><ahref='#'>Grupos e subgrupos</a></li><li><ahref='#'>Tipos de movimento</a></li><li><ahref='#'>Localidade dos produtos</a></li></ul></li><liclass='has-sub '><ahref='#'>Finanças</a><ul><li><ahref='#'>Bancos</a></li><li><ahref='#'>Contas bancárias</a></li><li><ahref='#'>Espécie</a></li><li><ahref='#'>Tipos de contrato</a></li><li><ahref='#'>Plano de contas</a></li><li><ahref='#'>Alíquotas ICMS</a></li></ul></li><liclass='has-sub '><ahref='#'>Recursos humanos</a><ul><li><ahref='#'>Funcionários</a></li><li><ahref='#'>Cargos</a></li><li><ahref='#'>Centro de custos/departamentos</a></li></ul></li><liclass='has-sub '><ahref='#'>Outros</a><ul><liclass='has-sub'><ahref='#'>Grupos de clientes</a><liclass='has-sub'><ahref='#'>Tipos de serviços/mão-de-obra</a></li><liclass='has-sub'><ahref='#'>Tipos de documento</a></li><liclass='has-sub'><ahref='#'>Tipos de contato</a></li><liclass='has-sub'><ahref='#'>Localidades</a></li><liclass='has-sub'><ahref='#'>Terminais PDV</a></li></ul></li></ul></li><liclass='has-sub'><ahref='#'>Estoque</a><ul><liclass='has-sub'><ahref=' #'>Nota fiscal de fornecedor</a></li><liclass='has-sub'><ahref=' #'>Movimento de estoque</a></li><liclass='has-sub'><ahref=' #'>Importar nota fiscal do fornecedor</a></li><liclass='has-sub'><ahref=' #'>Transferência de estoque</a></li><liclass='has-sub'><ahref=' #'>Posição de estoque</a></li><liclass='has-sub'><ahref=' #'>Guia de compra</a></li><liclass='has-sub'><ahref=' #'>Pedido de compra</a></li><liclass='has-sub'><ahref=' #'>Cotação de produtos</a></li><liclass='has-sub'><ahref=' #'>Cálculo do custo médio</a></li><liclass='has-sub'><ahref=' #'>Reajuste de preços</a></li><liclass='has-sub'><ahref=' #'>Tabela de preços</a></li></ul></li><liclass='has-sub'><ahref='#'>Faturamento</a><ul><liclass='has-sub'><ahref='#'>Pedido de vendas</a></li><liclass='has-sub'><ahref='#'>Emissão de nota fiscal</a></li><liclass='has-sub'><ahref='#'>Devolução de produtos</a></li><liclass='has-sub'><ahref='#'>Tabela de preços</a></li><liclass='has-sub'><ahref='#'>Orçamentos</a></li><liclass='has-sub'><ahref='#'>Ordem de serviços</a></li><liclass='has-sub'><ahref='#'>Abertura</a></li><liclass='has-sub'><ahref='#'>Comissões e fechamento do caixa</a></li><liclass='has-sub'><ahref='#'>Análise de vendas</a></li><liclass='has-sub'><ahref='#'>Movimentação dos terminais</a></li><liclass='has-sub'><ahref='#'>Movimentação de produtos</a></li></ul></li><li><ahref='#'>Finanças</a><ul><li><ahref='#'>Nova conta</a></li><li><ahref='#'>Lista de contas</a></li><li><ahref='#'>Receitas e despesas</a></li><li><ahref='#'>Contas a receber</a></li><li><ahref='#'>Contas a pagar</a></li><li><ahref='#'>Contas pagas e recebidas</a></li><li><ahref='#'>Transferências entre contas</a></li><li><ahref='#'>Programar transferências</a></li><li><ahref='#'>Criar orçamento</a></li></ul></li></ul></div><divid="grpDetalhe"></div></div></h:body></html>
G
GustavoFreitas
Nada, ficou a mesma coisa, acho que isso de bugaço do proprio primefaces.
R
rof20004
Temos que apelar para o Chuck Norris!!
R
rof20004
Vamo na doida, depois dessa doida vo da um tempo que vo almoçar, mas tarde to ae, pra nos bater cabeça, negocio ae ta esquisito, parece ate erro de CSS mesmo.