我应该如何在 PHP CMS 中实现 CSS 样式更改器


How should I implement a CSS style changer in a PHP CMS?

Background

我正在用PHP开发自己的OOP内容管理系统,以娱乐并扩展我的程序知识

我有什么

我已经设置了主框架,用户可以登录到后端,添加页面,编辑页面,在行或列中设置内容,添加徽标,广告牌等。

扩展

我的下一个冒险是允许用户通过面板修改其网站的样式。 包括标题颜色、字体大小、字体系列等

如何实施

我想到了很多方法来做到这一点,但我想问问社区,看看他们是否可以提出更好的解决方案或证明我的解决方案之一的合理性。

想法1:

我可以编写/找到一个解析 css 样式表的 php 类,然后将其重写为具有编辑值的新样式表

想法2:

我可以将现有的样式表分为结构、颜色、字体等,只允许用户分别修改颜色和颜色。

想法3:

我可以抛弃整个分离样式和内容的想法,并制作 php 将用户指定的样式直接写入 html...

信息

有没有人能想到其他方法?

如果不是,我的哪一个效果最好/最有效/最佳等

这不是讨论,我问一个特定的编程问题。

我知道该面板必须有一个界面供用户更改值并将其配置保存在数据库中,或者直接将其配置保存在新的 css 文件中。

我只是不确定哪种方式是"最佳"方式。

"你"会怎么做?

我会用JavaScript更改样式表,例如:

<link rel="stylesheet" href="somestyle.css" id="stylesheet">
function changeStyle(cssfile) {
  document.getElementById('stylesheet').href = cssfile;
}

我还会通过 AJAX 将用户的选择输入到数据库中,因此当 PHP 创建下一页时,它知道用户选择了哪些样式。