如今,在诸如Liferay这样的门户上进行网站开发可能与使用网站构建器一样简单,甚至比在PHP中使用流行的cms更容易,更快。同时,您可以保留对所有数据的控制权,可以将其放置在任何地方而不必依赖服务提供商,还可以使用高质量的库来修改任何复杂性,而又不会过多破坏“轻”技术的独立功能。
网络材料的易用性是由以下因素形成的:
像在构造函数中一样的开发的发布和布局系统
几乎不需要代码即可创建主题的能力
您可以通过从sf.net下载门户网站分发套件轻松地验证第一点的有效性:
https://sourceforge.net/projects/lportal/files/Liferay%20Portal/
然后解压它并从子目录运行startup.bat(或.sh)
tomcat-xyz / bin
首先,除了安装的Java外,您不需要安装其他任何东西。
在第一次启动期间,门户网站将指定一些设置,创建管理员并要求重新启动门户网站,以停止使用shutdown.bat脚本。
以管理员身份登录后,一个带有两个滑动侧面板的面板将显示在顶部,如果需要,您可以在不编写任何代码的情况下创建站点和资料。
.
" ", "" . . , , .. .
, ant gradle, gulp. , . yeoman,
npm install -g yeoman generator-liferay-theme
7.1.
-
npm install -g generator-liferay-theme@8.x.x
7.x.x
, , . Liferay, gradle , 3 , 7.3+. . . .
yo liferay-theme
:
- - {_}-theme
-
-
- tomcat-x.y.z .
FontAwesome .
.
npm install
.
IntelliJ IDEA liferay .
build.
gulp build
dist/ .war deploy/ .
deploy, .
“ ” .
(/) , .
build/, war’ . templates/ .. , src/ .
portal_normal.ftl -
navigation.ftl -
portlet.ftl -
init_custom.ftl - , init.ftl
. .. , .
, .
src/css/_custom.scss
.
:
/o/{__}/{__src}/{_}.{}
.. :
http://localhost:8080/o/my-theme/images/heder.jpg
- , , , portal-ext.properties .
theme.css.fast.load=false
theme.images.fast.load=false
javascript.fast.load=false
layout.template.cache.enabled=false
browser.launcher.url=
combo.check.timestamp=true
freemarker.engine.cache.storage=soft:1
freemarker.engine.modification.check.interval=0
openoffice.cache.enabled=false
velocity.engine.resource.manager.cache.enabled=false
com.liferay.portal.servlet.filters.cache.CacheFilter=false
com.liferay.portal.servlet.filters.themepreview.ThemePreviewFilter=true
com.liferay.filters.strip.StripFilter=false
com.liferay.portal.servlet.filters.header.HeaderFilter=false
javascript.single.page.application.enabled=false
.
. node_modules, .war . gulpfile.js :
var gulp = require('gulp');
var liferayThemeTasks = require('liferay-theme-tasks');
var copy = require('gulp-copy');
gulp.task('copy-key-toggler', function() {
return gulp.src('./node_modules/key-toggler/src/key-toggler.js')
.pipe(gulp.dest('./build/js/'));
});
liferayThemeTasks.registerTasks({ gulp,});
gulp.task('build:war', gulp.series('copy-key-toggler', 'build:war'));
您可以从我的其他文章中了解有关如何为Liferay等门户开发应用程序的内容,例如,这篇文章: