2016-10-08 4 views
0

Ich möchte ein Png-Bild-Datei wie Symbol in einem Menüelement.p: menueitem icon customization

Der Code, den ich vorschlage, ist:

<p:menuitem id="lang_en" value="English" icon="sertec-english-icon" 
    actionListener="#{langController.countryLocaleCodeChanged('en')}" ajax="false" /> 

Die CSS-Datei befindet sich in: src/main/webapp/resources/css/icons.css

In template.xhtml füge ich die Zeile:

<h:outputStylesheet name="icons.css" library="css" /> 

icons.css:

.sertec-english-icon { 
    background-image: url("resources/icons/eeuu.png") no-repeat !important; 
    width:20px; 
    height:16px; 
} 

Aber der Menüeintrag in der Webseite ist wie: Menu rendered

Was mache ich falsch?

+0

resources/icons/eeuu.png, ist dieser Pfad öffentlich zugänglich ??? – Kenshin

+0

Ich denke, dass das Icon nur mit [UI-Icon] (https://api.jqueryui.com/theming/icons/) funktioniert, falls du es als Bild machen willst, ist die einzige Lösung '' p : commandButton /> 'anstelle von' menuitem' –

+0

Was zeigt die Konsole Ihres Navigators? –

Antwort

1

Schließlich funktioniert es für mich:

CSS-Code:

.fa-sertec-spanish-icon { 
    background: url("#{resource['icons/espaniol.png']}") no-repeat !important; 
    width:20px !important; 
     height:16px !important; 
} 

icon Standort-Dateien sind wie: rootFolder/src/main/webapp/resources/icons/espaniol.png

und in XTML Datei:

<p:menuitem id="lang_es" value="Español" icon="fa fa-sertec-spanish-icon" actionListener="#{langController.countryLocaleCodeChanged('es')}" ajax="false" /> 

HINWEIS: in css muss mit fa beginnen, sonst wird es nicht funktionieren

+0

Kannst du nicht einfach das Attribut 'Klasse' des Meneitels anstelle des Symbols verwenden? – Kukeltje