【发布时间】:2011-06-22 16:09:34
【问题描述】:
我的背景是网站设计师,使用 Drupal 制作网站并做前端。我的新工作只是做前端,我的老板要求我从“前端的角度”研究 liferay(这里的大多数人都是 java 开发人员)。
那么,liferay 的主题性如何?您是否(轻松)控制输出的确切 html?
我知道一个开放式问题,但我不确定如何更具体...... 谢谢
【问题讨论】:
我的背景是网站设计师,使用 Drupal 制作网站并做前端。我的新工作只是做前端,我的老板要求我从“前端的角度”研究 liferay(这里的大多数人都是 java 开发人员)。
那么,liferay 的主题性如何?您是否(轻松)控制输出的确切 html?
我知道一个开放式问题,但我不确定如何更具体...... 谢谢
【问题讨论】:
您没有太多控制权,因为 LR html 页面很大。它是 Portal 页面和特定 portlet 的 html 部分的组合。一个页面上可以有 3 到 10 个,您可以在巨大的门户页面中设置它们的样式……这就是为什么 CSS 层次结构非常复杂,您应该对 CSS 有一点熟练才能在这样的环境中感到自在,即使您关闭了对tomcat和属性文件的缓存,有时您也必须手动清空浏览器缓存才能正确重新加载页面。
但我必须说,LR UX 开发人员是我所知道的最优秀的,而且这一切都非常专业。很高兴与它合作。
有4点很重要:
与java开发人员合作比较容易进入。因为您必须学习如何在 Web 服务器 (tomcat) 上设置它 - 最简单的方法是安装包并运行它。但是你还需要查看LR的源代码,查看themes(登录客人,密码为空)并进行一些逆向工程。主题被部署(通过 Ant)到一个正在运行的 LR 实例中。即使没有任何 Java daveloper 的帮助,这也是相对可行的。在主题目录中运行“$ant create”后,它会在您制作主题并部署它们时构建一个模板主题。但是对于文件系统上的 PATH,必须有一些 Ant 特定的设置。
主题开发很简单,您只需创建经典 LR 主题的 _diff - 您修改已完成的主题。目的是,LR javascript & CSS 框架和 CSS 层次结构非常复杂,这是可能的最佳方式。
在tomcat/webapps/ROOT/WEB-INF/classes/ 中创建portal-ext.properties,添加这一行include-and-override=portal-developer-ext.properties 并在与此内容相同的位置创建portal-developer-ext.properties,这使得UI 开发JS & CSS 更加友好。
theme.css.fast.load=false
theme.images.fast.load=false
javascript.fast.load=false
javascript.log.enabled=false
com.liferay.portal.servlet.filters.strip.StripFilter=false
com.liferay.portal.servlet.filters.minifier.MinifierFilter=false
layout.template.cache.enabled=false
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
还有基于 YUI CSS & JS 框架的合金框架,为您提供大量“小部件”和插件供您使用。
简单地说,这是一件非常有趣的事情,可以学到很多东西,但必须愿意花一些时间去投入。
【讨论】: