ユーザーが2つの異なる配色を切り替えることができる機能を実装しています。ただし、Liferayの配色は、ユーザーごとではなく、システム/ポータルごとであるように思われます。したがって、ユーザーがそれを変更すると(すべてのユーザーにそれを行う許可を与えることができます)、すべてのユーザーに対して変更されます。私はそれを正しく理解していますか?
その場合、関数を実装するための最良の方法は何ですか?
私が今考えているのは、ユーザーごとにカスタムフィールドを追加して、選択した配色を保存できるということです。しかし、次に何をすべきかわかりません。ThemeDisplay
他のすべてのユーザーの配色が変更されるため、ページのレンダリングに使用できるようにシステム全体の配色を変更できなかったようです。各ページのレンダリング中にユーザー固有の配色を適用することは可能ですか?
更新:の下theme/_diffs/templates/init.ftl
で、次の行を変更することによってこれを達成する方法があるようです、
<#assign css_class = theme_display.getColorScheme().getCssClass() + " yui3-skin-sam" />
必要なのは、ユーザー固有の配色のCssクラスを取得し、それに置き換えるtheme_display.getColorScheme().getCssClass()
ことです。
明日アイデアをテストします。