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

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

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

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

【问题讨论】:

    标签: php css templates properties


    【解决方案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,如果它适合你,请记住接受这个答案。
    猜你喜欢
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 2014-03-27
    • 1970-01-01
    • 2020-03-17
    相关资源
    最近更新 更多