我一直在寻找高低,但我找不到一个布局切换器,它不仅让我切换css而且还有html代码,并且还将用户选择的设置保存在cookie中。
我希望能够拥有多个网站布局和功能,让用户选择他/她喜欢的内容。无论用户设置什么布局,内容即文本都是相同的。
有没有人知道基于jquery的代码允许这个?我更喜欢jquery,但php也是可以接受的。
答案 0 :(得分:1)
以您选择的格式将内容存储为xml。类似于以下内容
必须解析为PHP
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="Layout-<?php echo $_COOKIE['layout'] ?>.xslt"?>
<page>
<title> ... </title>
<main-content> ... </main-content>
<articles>
<article>
<title> ... </title>
<content> ... </content>
</article>
<article> ... </article>
<article> ... </article>
<article> ... </article>
</articles>
</page>
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" indent="yes" />
<xsl:template match="/page">
<xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text>
<html>
<head>
<xsl:value-of select="title" />
</head>
<body>
...
<!-- copy node as HTML -->
<xsl:copy-of select="main-content/node()" />
...
<xsl:apply-templates match="articles/article" />
</body>
</html>
</xsl:template>
<xsl:template match="article">
<div>
<h2><xsl:copy-of select="title" /></h2>
<!-- copy node as HTML -->
<xsl:copy-of select="content/node()" />
</div>
</xsl:template>
</xsl:stylesheet>
您只需将XML页面发送到客户端,他们的浏览器就会进行转换!