如何处理用户可自定义的网站主题?

时间:2012-08-12 01:36:07

标签: php mysql css content-management-system themes

我们正在开发CMS,并希望获得有关处理用户可自定义主题的最佳方法的建议。我们有几个想法,但不确定最好的方法是什么。 CMS将允许用户通过CMS内置的主题编辑器UI自定义网站的每个部分,包括颜色,字体,布局等。

我们正在考虑编写一个自定义CSS解析器,将更改写入该主题的CSS文件中。这种方法似乎可能有很多失败点,而且很多都是无意中听到的。

另一种方法是将所有CSS存储在数据库中,然后只使用内联CSS。

CMS是使用JQuery和PHP与MySQL数据库构建的,用于提供用户信息和内容,而不是CSS。

是否有更有效的方法来解析/控制/编辑主题的CSS属性?

由于

3 个答案:

答案 0 :(得分:0)

我的建议是看看WordPress或任何其他预建平台(Drupal,Joomla等)接近此方式的方式。 WordPress主题包含存储在文件系统上的模板文件,允许用户完全控制其网站的外观。每个主题的CSS存储在名为style.css的文件中。 WP本身并不强制执行前端布局,而是将其留在站点管理员/开发人员手中。

答案 1 :(得分:0)

我会把你的CSS文件视为代码类。例如,有一个可自定义字体主题的CSS文件,一个用于页面主题等。

考虑到这一点,在页面加载时,您可以根据用户选择轻松构建动态CSS文件。

AKA

font1.css font2.css font3.css

page1.css page2.css page3.css

在页面加载时,您确定用户首选项是字体1和第2页,拉入css文件和walla你很高兴!

答案 2 :(得分:0)

我目前正在寻找同样的事情。我遇到的一些解决方案似乎使用xml文件进行布局,然后(可能)解析出一个自定义的css文件。这样,布局确定页面内容模块的“堆叠顺序”和其他可定制的特征(通常是有限的),例如字体,颜色和等等。背景图像由另一个自定义(用户)css文件处理。

我将关注这一个,并且也有兴趣找到实现它的实际代码解决方案。例如,如何使用jquery为用户后端构建可拖动的内容模块接口。