如何动态设置属性到模板(包括css)PHP

Posted

技术标签:

【中文标题】如何动态设置属性到模板(包括css)PHP【英文标题】:How to dynamically set properties to a template (including css) PHP 【发布时间】:2012-08-28 16:06:58 【问题描述】:

我必须做一个网站,允许管理员创建其他用户可以注册的“事件”。 每个“事件”都有自己的用户。 当管理员创建事件时,他必须从预定义的模板(当然是我之前创建的)中选择一个设计,当我说设计时,我的意思是菜单和其他东西的位置。 但这里有一个“问题”,例如,管理员从调色板中选择菜单的背景或文本颜色。

由于每个设计模板都有自己的 CSS 文件,我不知道如何将背景设置为之前创建的“事件”的特定区域。

我在想,当我选择颜色时,我可以将它放入带有“事件”的数据库中,当有人想要查看事件时,我从数据库中获取它,使用 php 的 file_gets_contents 并替换Here is some property value 和颜色值。你觉得怎么样?。 还有另一种方法吗? 感谢您花时间回答和记住:D

【问题讨论】:

【参考方案1】:

将自定义颜色值保存在数据库或其他东西中。然后只需在 html 标头中的 style 标记中设置这些 CSS 属性。这样,您只需设置可以在一个地方更改的属性。

类似:

<style type="text/css">
custom_text_color   color: $prop1_color; 
custom_background  background-color: $prop2_color; 
</style>

那么下面的 html 输出将在页面后面保持不变:

<span class="custom_text_color">This is text in your custom color!</span>

【讨论】:

甚至不要在 html 标头中修改它。将样式表保存为.php,将header("Content-type: text/css", true); 添加到php 文件中,并使用会话来确定参考ID,以便从数据库中提取信息。 (修改你原来的答案) 我考虑过推荐它——但我认为考虑到这个问题可能有点过于复杂。尤其是当您检查文件是否已经存在、正确刷新缓存文件等时。我敢打赌,在每个页面请求上写入文件是这个用户会做的事情,这很糟糕。 好吧,我还是建议。 OP 可以查看 cmets 并决定他想做什么。 是的,gavin 的回答看起来很简单很好,谢谢你们的回答,我想我一定会这样做的;)再见。 @rentless,如果它适合你,请记住接受这个答案。

以上是关于如何动态设置属性到模板(包括css)PHP的主要内容,如果未能解决你的问题,请参考以下文章

动态模板css的mysql结构(模板框架)

如何在 WordPress 中通过模板为 HTML 标签动态添加类

如何在css中把一组静态图片改成动态滚动的图片

为电子邮件模板中动态添加的 html 代码设置样式

动态创建表格怎么用CSS设置表格属性 我是初学着,急用。我的代码如下 但是表格显示不出来

Vue3中CSS的新玩法-CSS模块 &amp;amp; 动态CSS