有没有人有一个很好的方式来切换管理部分中的样式只是为了改变网站的布局。多风格开关
可以说我有3种风格,我想改变网站的外观,但想在管理部分做到这一点,但效果需要发生在管理员和用户端。
我希望管理员有权更改样式而不是最终用户,但效果将同时显示在管理部分和用户端。
有没有人有一个很好的方式来切换管理部分中的样式只是为了改变网站的布局。多风格开关
可以说我有3种风格,我想改变网站的外观,但想在管理部分做到这一点,但效果需要发生在管理员和用户端。
我希望管理员有权更改样式而不是最终用户,但效果将同时显示在管理部分和用户端。
你可以让样式表包含一个变量,存储在数据库中。
最简单的方法是将所有样式相关的CSS规则放入一个可以通过PHP交换输出的CSS文件中。例如,如果在前端和后端的每个PHP页面上都可以输出三种“主题”样式(“loud.css”,“brash.css”和“happy.css”),则可以简单地输出基于数据库设置的内容,HTML将包含其中的一个。
将样式表值存储在数据库中,并在页眉渲染时使用它。然后你可以写一个简单的管理工具来改变它的值。
$avail_styles = array("green","red","blue");
if(isset($_REQUEST['style']) && in_array($_REQUEST['style'],$avail_styles))
{
session_start();
$_SESSION['style'] = $_REQUEST['style'];
echo "1"; exit;
}
echo "0"; //No Changes
$("#style select").change(function(){
val = $("option:selected",this).val();
//Ping style.php
$.get("style.php",{style:val},function(resonce){
if(response == "1")
{
//Load the new style sheet or document.location to refresh
}
});
})
<link rel="stylesheet" type="text/css" href="<?php echo $_SESSION["style" ]?>.css" />
您应该能看到这是如何工作的,但作为即时通讯的一大高峰所以生病的时候可以在稍后添加更多描述性答复,希望这有助于。