生成网站首页静态HTML

2016-07-07 16:49 来源:www.chinab4c.com 作者:ecshop专家

自己研究了一下,可以生成网站的首页,是静态index.html可以减轻服务器的负担,喜欢的顶一下,接下来准备让网店首页可以生成这样的路径: http://网站/网店域名/,这样有利搜索引擎

(修改内容是按照程序执行流程进行修改)

执行路径http://网站目录/index.php?app=default&act=creathtml

(0)includes\global.lib.php
  1. function sizecount($filesize)
  2. {
  3. if($filesize >= 1073741824)
  4. {
  5. $filesize = round($filesize / 1073741824 * 100) / 100 . '

  6. GB';
  7. }
  8. elseif($filesize >= 1048576)
  9. {
  10. $filesize = round($filesize / 1048576 * 100) / 100 . ' MB';
  11. }
  12. elseif($filesize >= 1024)
  13. {
  14. $filesize = round($filesize / 1024 * 100) / 100 . ' KB';
  15. }
  16. else
  17. {
  18. $filesize = $filesize . ' Bytes';
  19. }
  20. return $filesize;
  21. }
复制代码
文件:app\default.app.php
//生成网站首页
  1. function creathtml()
  2. {
  3. $this->assign('index', 1); // 标识当前页面是首页,用于设置导航状态
  4. $this->assign('icp_number', Conf::get('icp_number'));

  5. /* 热门搜素 */
  6. $this->assign('hot_keywords', $this->_get_hot_keywords());

  7. $this->assign('page_title', Conf::get('site_title'));
  8. $this->assign('page_description', Conf::get('site_description'));
  9. $this->assign('page_keywords', Conf::get('site_keywords'));
  10. $data = $this->outhtml('index.html');
  11. $file = 'index.html';
  12. $filesize = file_put_contents($file, $data);
  13. @chmod($file,0777);
  14. $a=filemtime($file);
  15. echo 'update index.html success !<br />updatetime:'.date("Y-m-d

  16. H:i:s",$a).'<br />filesize:'.sizecount($filesize);
  17. }
复制代码
(1)app\frontend.base.php
  1. function outhtml($tpl)
  2. {
  3. $cart =& m('cart');
  4. $this->assign('cart_goods_kinds', $cart->get_kinds(SESS_ID, $this->visitor-

  5. >get('user_id')));
  6. $this->assign('navs', $this->_get_navs());// 自定义导航
  7. $this->assign('acc_help', ACC_HELP);// 帮助中心分类code
  8. $this->assign('site_title', Conf::get('site_title'));
  9. $this->assign('site_logo', Conf::get('site_logo'));
  10. $this->assign('statistics_code', Conf::get('statistics_code')); // 统计代码
  11. $current_url = explode('/', $_SERVER['REQUEST_URI']);
  12. $count = count($current_url);
  13. $this->assign('current_url',$count > 1 ? $current_url[$count-1] :

  14. $_SERVER['REQUEST_URI']);// 用于设置导航状态(以后可能会有问题)
  15. return parent::outhtml($tpl);
  16. }
复制代码
(2)includes\ecapp.base.php
  1. function outhtml($f)
  2. {
  3. $this->assign('site_url', SITE_URL);
  4. $this->assign('random_number', rand());

  5. /* 语言项 */
  6. $this->assign('lang', Lang::get());

  7. /* 用户信息 */
  8. $this->assign('visitor', isset($this->visitor) ? $this->visitor->info :

  9. array());

  10. /* 新消息 */
  11. $this->assign('new_message', isset($this->visitor) ? $this-

  12. >_get_new_message() : array());
  13. $this->assign('charset', CHARSET);
  14. $this->assign('price_format', Conf::get('price_format'));
  15. $this->assign('async_sendmail', $this->_async_sendmail());
  16. $this->_assign_query_info();

  17. returnparent::outhtml($f);
  18. }
复制代码
(3)eccore\controller\app.base.php
  1. /**
  2. * 获取视图
  3. *
  4. * @author Garbin
  5. * @paramstring $n
  6. * @return string
  7. */
  8. function outhtml($n)
  9. {
  10. $this->_init_view();
  11. return $this->_view->outhtml($n);
  12. }

  13. (4)eccore\view\template.php
  14. /**
  15. * 获取页面解释后的内容
  16. *
  17. * @accesspublic
  18. * @paramstring$filename
  19. * @paramsting$cache_id
  20. * @returnstring
  21. */
  22. function outhtml($filename, $cache_id = '')
  23. {
  24. return $this->fetch($filename, $cache_id);
  25. }
复制代码


回答:
第一次修改ECMALL的代码,有请ECMALL开发人员指点一下我这改法正确吗?

呵呵。能生成就是正确的!!

那每更新都要更新一下首页啊??那些有些调用最新产品的话就不能更新了??

原帖由 还我用户名 于 2009-12-4 17:33 发表
呵呵。能生成就是正确的!!

那每更新都要更新一下首页啊??那些有些调用最新产品的话就不能更新了??



ECMALL好像有计划任务吧,你可以设置让首页每1小时更新一次,这样就可以了

不行呵,搞了半天,还得改回来!