我使用Liferay 6.1并创建了我的主题(sample-theme
),我想添加jQuery
。
我怎么能这样做?
为什么我有文件夹:sample-theme
和liferay-work
,并且都有文件夹:css,js,templates?
我创建了文件夹_diffs
和子文件夹js
,然后复制jQuery并添加portal_normal.vm
:
<script src="/html/js/jquery/jquery-1.8.2.min.js"></script>
我没有看到任何变化,为什么?我怎样才能添加jQuery?不仅是单个portlet,而是所有人。
我没有文件夹 docroot 我使用Maven并且在 src / main / webapp 我创建了文件夹 _diffs 和内部文件夹< strong> js ,在那里我添加了 jquery.js ,并在 _diffs 创建的模板文件夹中添加了一个粘贴:
<script src="$javascript_folder/jquery-1.8.2.min.js"></script>
仍然是错的。也许文件夹_diffs应该在另一个地方?什么应该是maven项目的结构?
答案 0 :(得分:9)
您可以将所有javascript文件添加到主题中的js
文件夹中,例如:
样品主题/文档根/ _diffs / JS / jQuery的1.8.2.min.js
然后,为了让每个人都可以使用,您可以在目录{{1}中的模板文件<head>
和portal_normal.vm
的{{1}}部分中编写以下任意一行。 }:
portal_pop_up.vm
或者
sample-theme/docroot/_diffs/templates/
注意:#js ("$javascript_folder/jquery-1.8.2.min.js")
用于将您的javascript更改应用于AUI对话框弹出窗口,如果您正在使用它们
<script src="$javascript_folder/jquery-1.8.2.min.js"></script>
是一个速度变量,存在于主题的模板文件中,指向javascript存储路径(默认为:portal_pop_up.vm
),可以在$javascript_folder
中定义,如下所示:< / p>
${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
所示<root-path>
。 ${root-path}
的默认值为/
,即它引用目录sample-theme/
。
基本上文件夹css
,js
,templates
&amp;在构建主题时,images
会更新您在相应的_diffs
文件夹(_diffs/css
,_diffs/js
等)中所做的更改。这就是速度变量如$javascript_folder
&amp; $css_folder
指向sample-theme/js
&amp; sample-theme/css
分别代替sample-theme/_diffs/js
或sample-theme/_diffs/css
。
希望这有帮助。
答案 1 :(得分:4)
添加
portal_normal.vm中的
<script src="$themeDisplay.getPathThemeRoot()js/jquery-1.8.2.min.js" type="text/javascript">
您也可以直接使用CDN
<script src="<jquery url in CDN>" type="text/javascript">
答案 2 :(得分:2)
您应该将 jquery-1.8.2.min.js 添加到主题中的 docroot / _diffs / js 文件夹中。然后在 docroot / _diffs / templates / portal_normal.vm 中,您应该将以下行添加到&lt; head /&gt;部分:
<script src="$javascript_folder/jquery-1.8.2.min.js"></script>
我认为它应该有用。
答案 3 :(得分:0)
这应该对你有所帮助
<script src="<%=request.getContextPath()%>/js/jquery-1.8.2.min.js" ></script>
答案 4 :(得分:0)
只有在有蚂蚁项目时才需要差异,对于MAVEN你不需要差异
当你想在portlet&amp;中执行它时,request.getContextPath非常有用。不是主题。
您可以使用“$ javascript_folder访问js文件夹中的任何内容