Wie jQuery und anderen JS Dateien im Liferay-Theme
Ich benutze Liferay 6.1 und ich habe mein Thema (sample-theme
) und ich möchte hinzufügen jQuery
.
Wie kann ich das tun?
Warum ich die Ordner: sample-theme
und liferay-work
und beide haben Ordner: css, js, templates?
Ich erstellte Ordner _diffs
und Unterordner js
und es kopieren jQuery und fügen Sie in portal_normal.vm
:
<script src="/html/js/jquery/jquery-1.8.2.min.js"></script>
Und ich sehe keine änderungen, Warum? Wie kann ich jQuery? Nicht nur an ein einzelnes portlet sondern für alle.
Ich habe keine Ordner docroot ich bin die Verwendung von Maven und in src/main/webapp ich erstellte Ordner _diffs und innen Ordner js, dort füge ich jquery.js und in _diffs erstellten Ordner "Vorlagen" ein d einfügen:
<script src="$javascript_folder/jquery-1.8.2.min.js"></script>
Und noch immer ist es falsch. Vielleicht Ordner _diffs werden sollte, in einem anderen Orte? Was sollte eine Struktur von maven Projekt?
- Für Gebäude mit maven das könnte Ihnen helfen: liferaysolution.com/2012/09/maven-build-with-liferay.html
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie sämtliche javascript-Dateien auf die
js
Ordner in deinem theme wie:Und dann zur Verfügung zu stellen für jeder man schreiben kann einer der folgenden Zeilen in die
<head>
- Abschnitt der template-Dateienportal_normal.vm
undportal_pop_up.vm
in dem Verzeichnis vorhandensample-theme/docroot/_diffs/templates/
:Oder
Hinweis:
portal_pop_up.vm
ist für die Anwendung von javascript-änderungen AUI-dialog pop-ups, wenn Sie mit IhnenEtwas mehr Erklärung, wie die Dinge funktionieren:
$javascript_folder
ist ein velocity-variable vorhanden in dem theme-template-Dateien, die Punkte auf der javascript-Speicher-Pfad (default ist:${root-path}/js
) die definiert werden kann, in derliferay-look-and-feel.xml
wie diese:Können Sie auch anpassen
${root-path}
wie<javascript-path>
durch die Angabe inliferay-look-and-feel.xml
als<root-path>
wie gezeigt. Der Standardwert von${root-path}
ist/
d.h. es bezieht sich auf das Verzeichnissample-theme/
.Grundsätzlich die Ordner
css
,js
,templates
&images
sind diejenigen, die wird mit den änderungen aktualisiert, die Sie in die entsprechenden_diffs
Ordner (_diffs/css
,_diffs/js
etc), wenn man das Thema. So, dass ist der Grund, warum die velocity-Variablen wie$javascript_folder
&$css_folder
Punkt zusample-theme/js
&sample-theme/css
bzw. stattsample-theme/_diffs/js
odersample-theme/_diffs/css
.Hoffe, das hilft.
Hinzufügen
im portal_normal.vm<script src="$themeDisplay.getPathThemeRoot()js/jquery-1.8.2.min.js" type="text/javascript">
nach dem hinzufügen der Datei, um die sample-theme/docroot/_diff/js-Ordner
Sie können auch ein CDN-direkt
<script src="<jquery url in CDN>" type="text/javascript">
Sollten Sie jquery-1.8.2.min.js Sie zu dem Ordner, docroot/_diffs/js in Ihrem Thema. Dann in docroot/_diffs/templates/portal_normal.vm sollten Sie die folgende Zeile in den <head /> Abschnitt:
Ich denke, es sollte funktionieren.
Sollte dies für Sie hilfreich sein
diffs ist nur erforderlich, wenn es ant-Projekt für MAVEN, die Sie nicht brauchen, diffs
Anfrage.getContextPath ist nützlich, wenn u wollen, es zu tun in portlets & Nicht Themen.
kann man mit "$javascript_folder Zugriff auf alles, was in js Ordner