扩展Roller共享主题功能

问题: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")就可以得到默认的参数;用户需要修改则可以通过用户自定义参数功能来修改。

呵呵。

猜你喜欢

转载自devroller2.iteye.com/blog/1331610
今日推荐