phpcms多个首页样式生成静态HTML怎么做?大概思路,谢谢。

假设我的首页与栏目页、列表页都有各自不同的版面样式,用户在前台可以点某链接后更换不同版式的HTML页面。例如,用户可在index.html页面将版式换成冰雪世界样式,转到... 假设我的首页与栏目页、列表页都有各自不同的版面样式,用户在前台可以点某链接后更换不同版式的HTML页面。
例如,用户可在index.html页面将版式换成冰雪世界样式,转到的index2.html显示这个样式。
如果网站是动态数据直接从数据库装载数据到模板就行了。
但我的网站是纯静态的,需要提前生成index2.html。
phpcms中该如何做才能每次点生成首页时自动生成index2.html。
每次更新栏目时自动生成catename2.html等相应版式、样式的页面?
请给个大概设计思路,谢谢。
展开
 我来答
吃心不改Pro
2013-08-07 · 狂吃不胖的瘦猴~
吃心不改Pro
采纳数:1482 获赞数:10786

向TA提问 私信TA
展开全部
按照你的想法,需要修改源程序。你想要的效果只需要生成一个可用的静态文件就可以搞定,那么:
在后台建立一个栏目“样式二”,栏目设置中选择生成到根目录,栏目就生成到了根目录下的bbb目录,用www.aaa.com/bbb/ 可以访问。给此栏目写一套样式不就OK了。phpcms也很灵活,首页能实现的数据调用,栏目页完全能实现
按照这个方法,界面、样式、内容完全和首页颠覆都行
Alljhatv
2013-07-31 · TA获得超过681个赞
知道小有建树答主
回答量:408
采纳率:87%
帮助的人:190万
展开全部

以下是我的思路,希望能对你有启发:


在用户选择样式时(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>

这两种方法都可以。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happy火苗90
2013-08-08
知道答主
回答量:23
采纳率:0%
帮助的人:10.8万
展开全部
第一 你要明白生成静态页的原理,加载不同的模板 生成不同的静态页,也就是说你要显示不同的页面 就必须加载不同模板,没有记错的话在lib->functions下有个类叫 global.func.php 文件 里面定义了 你加载模板所用的函数template(),调用这个方法生成静态页,明白了这个原理,你的问题应该可以解决了,不过我这是从代码的角度去说的,如果你只是站在使用者角度的话,phpcms后台应该有个界面,里面应该可以添加新的模板
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式