代码之家  ›  专栏  ›  技术社区  ›  Knowledge Craving

使用PHP和jQuery管理主题编辑

  •  1
  • Knowledge Craving  · 技术社区  · 14 年前

    • 在许多可用的主题类型中设置主题类型
    • 设置车身背景色和图像
    • 设置常规字体、大小和颜色
    • 设置窗体区域背景色和圆角选项
    • 设置窗体元素背景色、字体和字体颜色
    • 设置链接默认颜色、悬停颜色和访问颜色,带/不带装饰
    • 还有更多。。。

    我也对其他的方法持开放态度。

    编辑:-
    我已经制定了12个主题,以及它们自己定义的样式表和图标包。我还让他们根据每个顾客的个人口味来制作。 我不知道的是,如何管理客户从自己的帐户对主题选择所做的更改? 这必须在以下两个时间生效:-

    • 当客户查看其帐户以及更改时

    顺便说一句,非常感谢两位用户这么快的回复,并让我知道我的不完整的问题。

    2 回复  |  直到 14 年前
        1
  •  4
  •   Otar    14 年前

    <?php
    
        function template($file, $data = array())
        {
            ob_start();
            extract($data);
            include_once 'path/to/theme/folder/' . $file . '.php';
            return ob_get_clean();
        }
    
    
        // Assign values to the template file
        $values['theme_type'] = 'default';
        $values['bg_color'] = '#FFFFFF';
        $values['bg_image'] = 'path/to/bg/image.jpg';
        $values['font_face'] = 'Tahoma, Arial, Verdana';
        $values['font_size'] = '12px';
        $values['font_color'] = '#000000';
        // And so on...
    
        // Output template file
        echo template('theme_layout', $values);
    
    ?>
    

    以及 theme_layout.php 文件输入 'path/to/theme/folder/theme_layout.php' 应该是这样的:

    <html>
    <head>
        <title>Theme Name</title>
        <style type="text/css">
            body {
                background-color: <?php echo $bg_color; ?>;
                background-image: url(<?php echo $bg_image; ?>);
                font-family: <?php echo $font_face; ?>;
                font-size: <?php echo $font_size; ?>;
                font-color: <?php echo $font_color; ?>;
            }
        </style>
    </head>
    <body>
    
        Theme type is: <?php echo $theme_type; ?>
    
    </body>
    </html>
    

    您是对的,这只是一个概念,下面是您必须做的:在数据库中添加新表 user_themes 例如,将所有与用户相关的值保存在那里。例如,用户进入管理页面,看到一个主题选项,如BG Color/Image,Font Name/Size/Color,并在那里输入自己的值。。。表单已提交,值保存在数据库中。然后在主题显示期间(在这里我为模板文件分配了值),您可以从数据库中获得用户输入的主题选项,并将其指定为主题值。

    我真的不明白jQuery在这里应该用在哪里,也许是用户提交选项的形式。

    希望这有帮助。

        2
  •  1
  •   strager    14 年前

    .css ). 每个样式表代表一个主题。更改 <link> href

    如果您允许用户上传CSS文件,请确保对输入进行清理,因为IE能够像JavaScript一样执行CSS文件的一部分,从而导致可能的XSS攻击。