問題:Roller提供一個共享主題功能,如果很多人使用同一個共享主題,那麼這個主題頁面硬編碼的東西(比如圖片、公告等等)是不是都一樣了?當然,如果是高級用戶的話解決這個問題不是難題。
解決方法:將硬編碼的內容初始化和參數化。比如圖片的url等。在Ro2er中,已經開發了一個用戶自定義參數功能,用戶在此功能中設置的參數可以在頁面通過$text.value("key")得到value。
另外,要初始化。當用戶切換主題時,自動把主題相關的自定義參數化保存到參數表中,那麼頁面才能取得參數化。初始化在theme.xml中添加一些內容:
<userparameter> <key>site.logo.url</key> <description>站點logo圖片設置</description> <locale>zh_cn</locale> <value>http://images.xx.com/logo.png</value> </userparameter>
接口Theme增加一個獲取用戶參數列表;SharedThemeFromDir初始化的時候解析用戶參數化;ThemeEdit用戶切換主題時獲取Theme用戶參數化列表並保存到db中。
顯示頁面時$text.value("key")就可以得到默認的參數;用戶需要修改則可以通過用戶自定義參數功能來修改。
呵呵。