phpcms多个首页样式生成静态HTML怎么做?大概思路,谢谢。
假设我的首页与栏目页、列表页都有各自不同的版面样式,用户在前台可以点某链接后更换不同版式的HTML页面。例如,用户可在index.html页面将版式换成冰雪世界样式,转到...
假设我的首页与栏目页、列表页都有各自不同的版面样式,用户在前台可以点某链接后更换不同版式的HTML页面。
例如,用户可在index.html页面将版式换成冰雪世界样式,转到的index2.html显示这个样式。
如果网站是动态数据直接从数据库装载数据到模板就行了。
但我的网站是纯静态的,需要提前生成index2.html。
phpcms中该如何做才能每次点生成首页时自动生成index2.html。
每次更新栏目时自动生成catename2.html等相应版式、样式的页面?
请给个大概设计思路,谢谢。 展开
例如,用户可在index.html页面将版式换成冰雪世界样式,转到的index2.html显示这个样式。
如果网站是动态数据直接从数据库装载数据到模板就行了。
但我的网站是纯静态的,需要提前生成index2.html。
phpcms中该如何做才能每次点生成首页时自动生成index2.html。
每次更新栏目时自动生成catename2.html等相应版式、样式的页面?
请给个大概设计思路,谢谢。 展开
3个回答
展开全部
按照你的想法,需要修改源程序。你想要的效果只需要生成一个可用的静态文件就可以搞定,那么:
在后台建立一个栏目“样式二”,栏目设置中选择生成到根目录,栏目就生成到了根目录下的bbb目录,用www.aaa.com/bbb/ 可以访问。给此栏目写一套样式不就OK了。phpcms也很灵活,首页能实现的数据调用,栏目页完全能实现
按照这个方法,界面、样式、内容完全和首页颠覆都行
在后台建立一个栏目“样式二”,栏目设置中选择生成到根目录,栏目就生成到了根目录下的bbb目录,用www.aaa.com/bbb/ 可以访问。给此栏目写一套样式不就OK了。phpcms也很灵活,首页能实现的数据调用,栏目页完全能实现
按照这个方法,界面、样式、内容完全和首页颠覆都行
展开全部
以下是我的思路,希望能对你有启发:
在用户选择样式时(onchange),你可以用JavaScript创建一个Cookie,保存用户选择的样式名称;
然后,将index.html做成一个没有预设样式表的网页,在<head>里加载JavaScript代码,这些代码应定义一个函数,这个函数要做以下的事:
获取你设置的Cookie的值,如果没有,就默认使用第一种样式;有的话,就使用规定的样式;
JavaScript如何设置Cookie及读取Cookie可以参见:http://w3school.com.cn/js/js_cookies.asp 。
将对应主题的插入样式表的文本(<style>那些)动态加载进<head>中(假设为$theme):
document.getElementByTagName('head').innerHTML += $theme;
然后在<head>标签中加上一个onload事件:
<head onload="函数名()">...</head>
就可以了。
谢谢!
追问
不同页面所生成的数据也会有些相异,所以无法用固定模板直接套风格,必须独立生成1.html/2.html ...,现在的问题是,如何让PHPCMS拥有这个功能,是自己开发一个独立可加载模块还是直接修改首页、栏目页的生成方法。
追答
那么你可以在php页面最顶端获取主题(cookie),然后再echo相应的代码,更方便;
如果要纯静态的话,也可以先制作一个body为空,没有预设CSS的网页,再用上面介绍的方法(即定义一个函数通过JavaScript动态加载),
// 加载CSS
document.getElementByTagName('head').innerHTML += $theme['css'];
// 加载网页内容
document.getElementByTagName('body').innerHTML += $theme['body'];
然后
<html onload="函数名()">...</html>
这两种方法都可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一 你要明白生成静态页的原理,加载不同的模板 生成不同的静态页,也就是说你要显示不同的页面 就必须加载不同模板,没有记错的话在lib->functions下有个类叫 global.func.php 文件 里面定义了 你加载模板所用的函数template(),调用这个方法生成静态页,明白了这个原理,你的问题应该可以解决了,不过我这是从代码的角度去说的,如果你只是站在使用者角度的话,phpcms后台应该有个界面,里面应该可以添加新的模板
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询