Liferay主题中包含jQuery和其他JS文件

2024-03-02

我使用 Liferay 6.1 并创建了我的主题 (sample-theme)我想添加jQuery。 我怎样才能做到这一点?

为什么我有文件夹:sample-theme and liferay-work两者都有文件夹:css、js、模板?

我创建了文件夹_diffs和子文件夹js然后复制 jQuery 并添加portal_normal.vm:

<script src="/html/js/jquery/jquery-1.8.2.min.js"></script>

我没有看到任何变化,为什么?如何添加 jQuery?不仅针对单个 portlet,而且针对所有 portlet。


我没有文件夹docroot我正在使用 Maven 并在src/main/web应用程序我创建了文件夹_diffs和里面的文件夹js,我在那里添加jquery.js and in _diffs创建模板文件夹并粘贴:

<script src="$javascript_folder/jquery-1.8.2.min.js"></script>

但它仍然是错误的。也许文件夹 _diffs 应该在其他地方? maven项目的结构应该是怎样的?


您可以将所有 javascript 文件添加到js主题中的文件夹,例如:

示例主题/docroot/_diffs/js/jquery-1.8.2.min.js

然后为了让每个人都可以使用它,您可以在<head>模板文件的部分portal_normal.vm and portal_pop_up.vm存在于目录中sample-theme/docroot/_diffs/templates/:

#js ("$javascript_folder/jquery-1.8.2.min.js")

Or

<script src="$javascript_folder/jquery-1.8.2.min.js"></script>

Note: portal_pop_up.vm is for applying your javascript changes to AUI dialog pop-ups, if you are using them

关于事情如何运作的更多解释:

$javascript_folder是主题模板文件中存在的速度变量,它指向 javascript 存储路径(默认为:${root-path}/js) 可以定义在liferay-look-and-feel.xml像这样:

<theme id="sample" name="Sample">
    <root-path>/html</root-path> <!-- optional -->
    <javascript-path>${root-path}/js/jQuery</javascript-path> <!-- So path becomes: sample-theme/html/js/jQuery -->
</theme> 

您还可以定制${root-path}就像<javascript-path>通过在中指定它liferay-look-and-feel.xml as <root-path>如图所示。默认值为${root-path} is /即它引用目录sample-theme/.

基本上都是文件夹css, js, templates & images是那些随着您在相应的更改中所做的更改而更新的_diffs文件夹 (_diffs/css, _diffs/js等)当您构建主题时。这就是速度变量的原因$javascript_folder & $css_folder指向sample-theme/js & sample-theme/css分别代替sample-theme/_diffs/js or sample-theme/_diffs/css.

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Liferay主题中包含jQuery和其他JS文件 的相关文章

随机推荐