开发门户网站Liferay 7的主题

如今,在诸如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等门户开发应用程序的内容,例如,这篇文章:

在嵌入式门户上开发Web应用程序




All Articles