Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何处理用户自定义的网站主题?_Php_Mysql_Css_Content Management System_Themes - Fatal编程技术网

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

Php 如何处理用户自定义的网站主题?,php,mysql,css,content-management-system,themes,Php,Mysql,Css,Content Management System,Themes,我们正在开发一个CMS,并希望就处理用户自定义主题的最佳方式提供建议。我们有一些想法,但不确定最好的方法是什么。CMS将允许用户通过内置在CMS中的主题编辑器用户界面自定义网站的每个部分,包括颜色、字体、布局等 我们正在考虑编写一个自定义CSS解析器,将更改写入该主题的CSS文件。这种方法似乎有很多故障点和很多无意中听到的内容 另一种方法是将所有CSS存储在数据库中,然后只使用内联CSS CMS是使用JQuery和PHP以及MySQL数据库构建的,用于用户信息和内容,而不是CSS 有没有更有效的

我们正在开发一个CMS,并希望就处理用户自定义主题的最佳方式提供建议。我们有一些想法,但不确定最好的方法是什么。CMS将允许用户通过内置在CMS中的主题编辑器用户界面自定义网站的每个部分,包括颜色、字体、布局等

我们正在考虑编写一个自定义CSS解析器,将更改写入该主题的CSS文件。这种方法似乎有很多故障点和很多无意中听到的内容

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

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

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


谢谢

我的建议是看看其他预构建平台(Drupal、Joomla等)实现这一点的方法。WordPress主题由存储在文件系统中的模板文件组成,允许用户完全控制其网站的外观。每个主题的CSS存储在名为
style.CSS
的文件中。WP本身并不强制执行前端布局,而是将其交给站点管理员/开发人员。

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

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

阿卡

font1.css font2.css font3.css

页面1.css 第2.css页 第3.css页


在页面加载时,您确定用户的首选项是字体1和页面2,同时拉入css文件和walla即可

我目前也希望做同样的事情。我遇到的一些解决方案似乎使用xml文件进行布局,然后(可能)解析出自定义css文件。通过这种方式,布局确定页面内容模块的“堆叠顺序”,其他可自定义功能(通常是有限的)如字体、颜色和背景图像由附加的自定义(用户)css文件处理


我将关注这一点,并且对找到实现这一点的实际代码解决方案感兴趣。例如,如何使用jquery为用户后端构建可拖动的内容模块界面。

感谢您的及时回复。我们正在尝试创建CMS,用户无需编辑或触摸裸代码。取而代之的是,他们用CMS(颜色、内容、背景)和拖放按钮来定制一切。我们想知道在用户做了一些更改后,控制/编辑和保存CSS属性的最有效方法是什么。。。在WordPress中,如果您想从原始主题创建自己的自定义主题,您必须了解CSS和HTML。我们正在努力消除这种情况,我同意。我正试图为最终用户实现同样的效果。这是一个非常有趣的方法,但是我相信用户仍然局限于CMS提供的内容,因为“硬编码”的主题。我正在努力为最终用户实现完全的自由。我知道这是可能的,因为有很多程序允许用户自由地建立他们的网站。我希望通过web界面也能做到这一点。如果您愿意,您完全可以将其打开,而不仅仅是硬编码主题,但反过来,您可能会打开自己的安全漏洞(运行用户代码)。如果你对保护自己不受伤害感到满意,那就去做吧。一个很好的折衷方案可能是使用LESS,允许用户只修改LESS类中的变量,而不添加或删除任何变量。它需要一个模式,其中所有元素属性都遵循一些规则。例如,如果适用,宽度和高度总是第一位,位置是下一位,然后是边框、背景等效果。。。等这允许我构建一个遵循此模式的解析器。但是,PHP不能导入或解析定制的CSS文件,因为它会破坏模式。这样做的原因是为了降低浏览器的工作负载。我不知道结果会怎样