您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程

ecshop伪静态修改生成纯静态页面设置方法

张枫震2023-12-19Ecshop商城教程已有人查阅

导读伪静态已经基本上可以满足大部分人的需求,如果不满足的还可以根据前面的一篇文章对重写规则进行修改,以满足自己的需求。但是本文所要描述的是

伪静态已经基本上可以满足大部分人的需求,如果不满足的还可以根据前面的一篇文章对重写规则进行修改,以满足自己的需求。但是本文所要描述的是,根据ECSHOP内在的一些代码,我们生成纯静态的网页,使系统更好的优化。在这里,我们先对首页进行纯静态生成。
1. 首页index.php为index_html.php,因为ECSHOP是使用SMARTY模板引擎的,所以我们可以使用SMARTY生成文件函数,把模板
的静态网页输出。
在首页中,$smarty->display('index.dwt', $cache_id);有这一句,说明是把网页显示出来,现在我们把它改成如下代码(参看注释)

$file = 'index.html';//静态网页文件名
$content = $GLOBALS['smarty']->make_html('index.dwt');//根据index.dwt模板生成网页内容
$filename = ROOT_PATH . $file;//静态网页路径
file_put_contents($filename, $content);//生成文件

以上几条简单的语句,我们就可以生成首页的静态网页。同理,我们可以生成产品类别和产品的静态网页,整个系统的静态化就完成了。
首页静态页面生成后,我们接下来要生成的是产品类别的静态页面,我的想法是把产品类别页面保存在跟目录下,这样虽然会比较乱,
但是比较适合优化,因为一般搜索引擎抓取的时候只抓取二到三层。把产品类别放在根目录,体现产品类别的重要 ,易于搜索引擎的 内容来自LZ工作室
抓取,另外一方面,我们可以把产品放在下个目录中。
类似代码:

$filename = build_uri('category', array('cid' => $catinfo['cat_id']));//构造路径,这个可以选择自己喜欢的构造方法
$content = $GLOBALS['smarty']->make_html('category.dwt');//产生静态页面内容
$filename = ROOT_PATH . $filename;//生成文件路径,在根目录下
file_put_contents($filename, $content);//输出

产品的静态页面代码:

$goodinfo = get_all_goodsinfo($goods_id);
$cat_name = $goodinfo['cat_name'];
$goodsfile = build_uri('goods', array('gid' => $goods_id));
$content = $GLOBALS['smarty']->make_html('goods.dwt');
$html_tempdir = (ROOT_PATH.$cat_name.'/');
if (!is_dir($html_tempdir))//生成产品目录
{
mkdir($html_tempdir);
}
$htmlfilename = ROOT_PATH . $goodsfile;
file_put_contents($htmlfilename,$content);

我的是使用类别名称加下划线:

function build_uri(........)
................
case 'category':
$cat_name = $GLOBALS['db']->getOne('SELECT cat_name FROM ' . $GLOBALS['ecs']->table('category') . " WHERE cat_id = '$cid'");
$uri = $cat_name . '-' . $cid;
if (!empty($page))
{
$uri .= '-' . $page;
}
........
case 'goods':
$goods_info = $GLOBALS['db']->getRow('SELECT g.goods_name, c.cat_name FROM ' . $GLOBALS['ecs']->table('goods') . " as g left join " .   
$GLOBALS['ecs']->table('category') . " as c on c.cat_id = g.cat_id WHERE g.goods_id = '$gid'");
$goods_name = $goods_info['goods_name'];
$cat_name = $cat_name;
$uri = $cat_name . '/' . $goods_name . '-' . $gid ;

有人问 make_html 这个函数在那里: 我现在补充如下:
在 includes 下的 cls_template.php 加上

function make_html($filename, $cache_id = '')
{
ob_start();
$this->display($filename,$cache_id);
$out = ob_get_contents();
ob_end_clean();
return $out;  
}

本文标签:

很赞哦! ()

相关源码

  • (自适应响应式)英文外贸汽车零配件五金机械网站模板为汽车零部件制造商与五金机械出口企业打造的响应式网站模板,内置多语言切换功能,支持产品参数表、OEM能力展示等外贸场景需求。通过结构化数据展示帮助海外买家快速理解产品规格。查看源码
  • (自适应)宽屏农业机械农耕设备类网站pbootcms模板免费下载为农机企业打造的现代化响应式网站模板,自动适配电脑、平板和手机,浏览体验一致,独立页面SEO设置,提升搜索引擎可见度。查看源码
  • (PC+WAP)安保服务保安保镖模板免费下载本模板基于PbootCMS内核开发,为安保服务企业量身打造。设计风格严谨专业,突出安保行业的安全、可靠特性,展示企业服务项目与实力。采用响应式设计,PC与移动端数据同步,管理便捷。模板布局合理查看源码
  • 自适应营销型IT网络工作室互联网建站公司pbootcms网站模板为IT网络服务商、建站企业打造的高性能营销门户,基于PbootCMS开源内核深度开发采用HTML5自适应架构,实现PC与手机端数据实时同步交互。查看源码
  • 响应式茶叶茶道pbootcms网站模板源码(自适应手机端)棕色复古茶具主题的响应式网站模板,为茶叶茶道企业设计,同时支持古玩字画、艺术文化等行业的快速适配,通过替换文字图片即可转型为其他行业官网,大幅降低开发成本。查看源码
  • (PC+WAP)房屋建造建筑工程房地产建材行pbootcms网站模板下载本模板基于PbootCMS内核开发,为房屋建造、建筑工程及房地产建材类企业设计。通过本模板可快速搭建具有行业特色的企业官网,只需替换文字与图片内容即可适配其他行业使用。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐