使用liferay开发小记

来源:互联网 发布:java怎么解析json 编辑:程序博客网 时间:2024/06/05 11:42
使用liferay开发系统时涉及到的对liferay的一些修改信息: liferay版本4.3.3 1,系统不想使用liferay默认的能自己定制portlet外观信息的选项。 则修改liferay-portal/html/themes/_unstyled/templates下的portlet.vm,并且在 相应的各个风格下面也修改该文件,去掉文件中的$theme.iconConfiguration()。 则在每个portlet上不再有外观样式设置的选项。 2,在对个人或者对社区的页面进行设置时,会发现页面类型。该页面类型由portal.properties属性文件的layout.types属性设定。 3,想去掉我的帐户链接,则可以 修改/html/themes/_unstyled/templates/init.vm文件,去掉我的帐户相关内容。 4,页面设置中很多功能需要屏蔽掉,修改 /portlet/communities/edit_pages.jsp文件即可。 5,如果想用外观样式功能,但想修改配置界面的内容,则可以按自己需要修改 /html/portlet/portlet_css/view.jsp该页面。 6,风格只保留一个.不要其他风格。 修改配置文件liferay-look-and-feel.xml 7,去掉公开页。保留我的公共(页面), 修改页面:/html/taglib/ui/my_places/page.jsp,去掉公开页。去掉页面设置中的公开页设置。 8,在为liferay系统添加内容时,想要字体更大,添加内容的页面出现在页面中间。 则修改js文件,js/liferay/layout_configuration.js,修改toggle方法,width:400,noCeneter:false;这样可以使添加内容的页面显示在整个页面中间。 修改/html/portlet/layout_configuration中的view_category.jsp页面,则可以修改添加内容页面的显示内容和样式。 9,权限达到可看不可用的效果。 设置一些portlet的权限,使某些用户能看而不能添加。修改html/portlet/layout_configuration/view_category.jsp页面。 取得所有的portlet ,而不是用户有权限添加的portlet. 在展示用户添加portlet时,设置不可添加的portlet添加按钮不可用。 10,liferay系统中,如果不通过liferay而修改数据库中的数据,则在liferay系统中不能看到实时更新的效果,因为liferay采用缓存机制。 需要修改持久实现类 service.persistence.××××PersistenceImpl中的对应方法,使用直接查询,而不采用读取缓存的操作,这样才能得到实时更新的数据。 去掉:
Java代码 复制代码
  1. Object result = FinderCache.getResult(finderClassName,  
  2.                 finderMethodName, finderParams, finderArgs, getSessionFactory());  
  3.         FinderCache.putResult(finderClassName, finderMethodName,  
  4.                     finderParams, finderArgs, list);  
在对持久化对象进行更新操作时,会调用下面的代码,所以可以保持在缓存中的对象是最新的。
Java代码 复制代码
  1. FinderCache.clearCache(AICustomerReports.class.getName());  
  • 20:56
  • 浏览 (1330)
  • 评论 (2)
  • 分类: liferay
  • 发布在 liferay 圈子
  • 相关推荐
<iframe frameborder="0" scrolling="no" src="http://z.alimama.com/alimama.php?i=mm_10856611_883490_1802508&amp;u=http%3A%2F%2Ffly-ever.javaeye.com%2Fblog%2F177836&amp;w=655&amp;h=81&amp;re=1280x1024&amp;sz=14&amp;r=http%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3Dliferay%2Bmy%2Bplaces&amp;cg=5232ee4067a9e6428fbadbf0b0509544&amp;prm=82806215&amp;cas=prm&amp;cah=994&amp;caw=1280&amp;ccd=32&amp;ctz=8&amp;chl=1&amp;cja=1&amp;cpl=19&amp;cmm=60&amp;cf=9.0&amp;fu=-1&amp;cbh=959&amp;cbw=1263&amp;iss=0&amp;t=2&amp;tc=0000FF&amp;dc=000000&amp;bgc=FFFFFF&amp;bdc=E6E6E6&amp;lc=008000&amp;bmc=FFFFFF&amp;as=0&amp;bgp=0&amp;ic=0&amp;k=liferay+my+places&amp;tt=%E4%BD%BF%E7%94%A8liferay%E5%BC%80%E5%8F%91%E5%B0%8F%E8%AE%B0%20-%20fly_ever%20-%20JavaEye%E6%8A%80%E6%9C%AF%E7%BD%91%E7%AB%99&amp;sx=379&amp;sy=943&amp;ac=4054&amp;pf=1" style="width: 655px; height: 81px;" marginheight="0" marginwidth="0" border="0" id="alimamaf0.20483166239175365" name="alimamaf0.20483166239175365"></iframe>
评论
fly_ever 2008-04-10
恩,你说的也是。我的第十点主要是说自己写portlet时,由于用到liferay默认的持久层解决方法,所以有时需自己解决缓存的办法。至于liferay系统的核心实现,肯定也是到处散布了缓存的代码,比如获取页面的portlet集合时,因此需要到对应的代码处修改。谢谢你的补充
melin 2008-04-09
你的十条,有点不全。 我最近的需求是,写一个portlet。管理portlet和role的关联。更新过后,不能起到效果,一看就是缓存的效果。一开始也是和你所说 的去该,还是缓存了。最后找到PortletLocalServiceImpl中。在_getPortletsPool()中,改为: //Map portletsPool = (Map)_companyPortletsPool.get(companyIdObj); System.out.println("-----------"+"test"+"----------------"); Map portletsPool = null; 还有一处: //_companyPortletsPool.put(companyIdObj, portletsPool);
原创粉丝点击