我想在一个网站中每一个页面使用公共的头部底部,怎么实现,不要太高深的。
可以使用模板啊,前端的模板我知道jade。可以把公共部分定义为mixin,然后include到每个需要的页面中,具体参考这里
在php后端,你也可以定义一个变量,把需要的html作为字符串保存在这个变量里,然后echo到每个页面中。
当然,这需要你先定义一个父类,所有请求先通过这个父类,父类处理一些公共逻辑,比如加header/footer,子类则处理更具体的逻辑。
反正都需要一定的重构。
页面1.html
include 'header';
页面1内容
include 'footer';
页面2.html
include 'header';
页面2内容
include 'footer';
创建一个header.php和一个footer.php,里面写你要的header和footer的内容
然后在要引入header和footer的页面
<?php include 'header.php'; ?>
其他内容
<?php include 'footer.php'; ?>
PHP实现:
include 'header.html';
...
include 'footer.html';
JS实现:
<div id="header"></div>
...
<div id="footer"></div>
<script>
$('#header').load('header.html');
$('#footer').load('footer.html');
</script>
是的,定义公共的头文件和尾文件后,在主文件中进行包含就可以了,至于变量什么的,处理都一样
http://document.thinkphp.cn/manual_3_2.html#template_layout
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
仅供参考:
使用JS动态请求统一的头尾,然后插入指定位置
后端方案,
#include('header.vm')
批量修改模板,但是得注意兼容问题服务器端,如果使用的是 nginx,开启
sub_filter
模块推荐使用第一种方法,总有公共的JS引用吧!