Css 主题更改未显示在liferay中

Css 主题更改未显示在liferay中,css,liferay,Css,Liferay,我对CSS比较陌生,对Liferay也很陌生。我有一个自定义的主题,我正试图建立。为了进行测试,我尝试更改页面上Portlet的标题文本颜色。在我的custom.css中,我有 .portlet-title { float: none; font-weight: bold; min-width: 50%; padding: 5px; text-shadow: 1px 1px #FFF; color: #800000; } 我假设这是正确的类,因为在该类下的f

我对CSS比较陌生,对Liferay也很陌生。我有一个自定义的主题,我正试图建立。为了进行测试,我尝试更改页面上Portlet的标题文本颜色。在我的custom.css中,我有

.portlet-title {
   float: none;
   font-weight: bold;
   min-width: 50%;
   padding: 5px;
   text-shadow: 1px 1px #FFF;
   color: #800000;
}
我假设这是正确的类,因为在该类下的firefox检查器中添加颜色会更改颜色。但是,当我部署主题时,它会恢复为

.portlet-title {
      float: none;
      font-weight: bold;
      min-width: 50%;
      padding: 5px;
      text-shadow: 1px 1px #FFF;
}

如果我ftp到主题文件夹,我所做的更改仍在custom.css中。出于某种原因,当主题在Liferay中呈现时,它会从我进行更改之前恢复为css。我已经尝试了所有我知道的尝试,包括清除浏览器缓存。有什么想法吗?

听起来您是在直接更新Web服务器上的文件(“ftp主题文件夹”),而不是正确地更改它,例如在开发环境中,构建新主题

Liferay缩小了CSS(和javascript),将所有CSS文件连接成一个文件,并消除了空白。还有SASS处理。所有这些都是缓存的,因此Liferay很可能在不重新部署新主题的情况下检测不到您的更改


使用主题的“原始”开发版本,在那里进行更改(在_diff文件夹中),并构建更新的主题插件。将其部署到Liferay,更改将被拾取。

将以下属性添加到JAVA选项并检查

JAVA_OPTS="-Dexternal-properties=portal-developer.properties"

可能的原因+补救措施:

  • 确保开发人员属性正在使用,并且fast.load.css和fast.load.js属性已在您的portal-ext.properties中就位: 例如{tomcat}/bin/setenv.sh中:
    -Dexternal properties=portal developer.properties
    如上所述,以及 在portal-ext.properties集合中:
    theme.css.fast.load=false
    javascript.fast.load=false

  • 确保您是基于对_diff文件夹所做的更改,从IDE/Liferay SDK构建的,并将这些更改部署到Liferay节点。热部署可以通过将theme.war文件推送到Liferay/deploy目录来完成。如果负载平衡器后面正在使用不止一个应用服务器,请确保将更改部署到集群的所有节点

  • 您可能需要停止Liferay,然后清理应用程序服务器的/temp和/work文件夹。这进一步确保了某些预缓存文件不会呈现给客户端

  • 启用CDN?您的应用层前面是否有清漆(或其他)缓存机制您是否正在使用Liferay CDN功能(Liferay门户设置主屏幕)缓存.js、.css、图像和其他文件以减轻Liferay的压力?禁用CDN功能或检查缓存方法,以确保将最新文件“视”为要缓存的新版本。一些人在Liferay前面设置了一个www层,并将他们的主题(和其他)文件复制到该www层,由其交付。如果这是您的体系结构,则需要确保新主题文件的副本也复制到www层

  • 清理您正在测试的任何浏览器的缓存,或使用“私人浏览”或“匿名”窗口确保您没有从浏览器缓存加载任何内容


  • Pl确保您正在_diff文件夹中进行更改。可能重复: