2

我正在实现一个功能,允许用户在两​​种不同的配色方案之间切换。但是,在我看来,Liferay 中的配色方案是按系统/门户而不是按用户的。因此,如果用户更改它(我可以授予每个用户这样做的权限),它将为所有用户更改。我理解正确吗?

如果是这种情况,实现该功能的最佳方法是什么?

我现在想到的是,我可以为每个用户添加一个自定义字段,以存储一个人选择的配色方案;但我不确定下一步该怎么做。看起来我无法更改系统范围内的配色方案以便ThemeDisplay可以使用它来呈现页面,因为这将为所有其他用户更改它。是否可以在渲染每个页面时应用用户特定的配色方案?


更新:似乎在下面theme/_diffs/templates/init.ftl,有一种方法可以通过修改以下行来实现,

<#assign css_class = theme_display.getColorScheme().getCssClass() + " yui3-skin-sam" />

我们需要的是检索特定于用户的配色方案的 Css 类,并theme_display.getColorScheme().getCssClass()用它替换。

明天将测试这个想法。

4

1 回答 1

0

在 theme/_diffs/templates/init.ftl 下,有一种方法可以通过修改以下行来实现,

<#assign css_class = theme_display.getColorScheme().getCssClass() + " yui3-skin-sam" /> 我们需要获取用户自定义配色方案的Css类,替换为theme_display.getColorScheme().getCssClass()接着就,随即。

于 2013-12-08T20:25:18.940 回答