SpeedPHP技术交流论坛

 找回密码
 论坛注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 2628|回复: 25

怎么生成二级页面的列表啊? [复制链接]

Rank: 6Rank: 6

发表于 2010-8-11 16:10:23 |显示全部楼层
由于在一个菜单下有几个小菜单,

怎么生成小菜单的静态地址,我是这样写的,能生成页面,但是分页和菜单的地址都没有生成到静态的地址,所有根本就没有链接上生成的静态页面!

function test_mark(){
        header('Content-Type:text/html;charset=utf-8');
        $urls = array();
        if( $result = spClass("lib_menu")->get_menu("news")){//这个是获取到新闻栏目下的二级菜单
            
            foreach($result as $value){ // 循环
                $content = spClass("lib_content");
                $total = $content->findCount(array('catid'=>$value['id'],'status'=>1));
               
                $perpage = 5;
                $pagenum = ceil($total/$perpage);
                for($i = 1;$i <= $pagenum;$i++){
                    $urls[] =  array(
                        array('content','index',array('catid'=>$value['id'],'offset'=>$value['offset'],'p'=>$i))  // 这里和spUrl的参数是相同的
                    );
              }
            
            }
        }
        spClass('spHtml')->makeAll($urls); // 使用makeAll来制作
        echo "新闻中心二级栏目页生成完毕!<br />";
    }


  页面代码是:
<div class="page">
     {#if $pager#}  
          {#pager pager=$pager myclass="badoo" c="content" a="index" catid=$params.catid|default:'0'  offset=10#}  
     {#/if#}
</div>



大侠们,帮帮忙,很急啊

Rank: 6Rank: 6

发表于 2010-8-11 21:18:41 |显示全部楼层
怎么没人回答啊

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2010-8-11 22:01:59 |显示全部楼层
问题挺复杂的,关于页码生成,楼主是做对了。不过可以再试试
$urls[] =  array(
array('content','index',array('catid'=>$value['id'],'offset'=>$value['offset'],'p'=>(string)$i))  // 这里和spUrl的参数是相同的
                    );
看这样行不行。

另外就是用最新的sp试试看。

Rank: 6Rank: 6

发表于 2010-8-11 22:12:57 |显示全部楼层
回复 3# jake


    那二级菜单的页面我该怎么生成啊,难道还是这样再写一个?

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2010-8-11 23:01:08 |显示全部楼层
不清楚你说的二级目录是什么意思,不过基本上需要生成的页面都需要先make一次才行。

Rank: 6Rank: 6

发表于 2010-8-11 23:01:42 |显示全部楼层
回复 3# jake


   帮帮忙吧,我的要上线了

Rank: 6Rank: 6

发表于 2010-8-11 23:07:30 |显示全部楼层
回复 3# jake


   Fatal error: Maximum execution time of 30 seconds exceeded in D:\wamp\www\CBD\SpeedPHP\Core\spView.php on line 152

Rank: 6Rank: 6

发表于 2010-8-11 23:46:10 |显示全部楼层
回复 5# jake


   我说的是二级菜单,就是说

   新闻
   |----国际新闻
   |----国内新闻

这样的,怎么把列表页也生成静态页面,


因为
新闻
   |----国际新闻

   |----国内新闻
这些都是动态生成的!所以。。。。


其实这里就是生成列表页


希望jake能尽快帮我解决这个问题,谢谢先那

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2010-8-12 08:54:02 |显示全部楼层
回复  jake


   Fatal error: Maximum execution time of 30 seconds exceeded in D:\wamp\www\CBD\Speed ...
yuanjianhua 发表于 2010-8-11 23:07


每一个需要生成静态页的页面都生成一次,这是一个正常的逻辑。上面应该是太多循环了导致PHP运行超时,你可以参考类似DEDECMS或者PHPCMS的生成HTML方式,用分批生成的方式来生成每一个分类下的文章以及全部分类本身。

Rank: 6Rank: 6

发表于 2010-8-12 09:55:52 |显示全部楼层
回复 9# jake


    我说的是二级菜单,就是说

   新闻
   |----国际新闻
   |----国内新闻

这样的,怎么把列表页也生成静态页面,


因为
新闻
   |----国际新闻

   |----国内新闻
这些都是动态生成的!所以。。。。


其实这里就是生成列表页


希望jake能尽快帮我解决这个问题,谢谢先那



/**
     * 生成新闻列表静态页
     */
    function news_list_mark(){
        header('Content-Type:text/html;charset=utf-8');
        echo "开始新闻中心二级栏目页生成!<br />";
      
        $urls = array();
        if( $result = spClass("lib_menu")->get_menu("news")){
            foreach($result as $value){ // 循环
                spClass('spHtml')->make(array('content','index',array('catid'=>$value['id'])),'../a/cat_'.$value['id'].'.html');//难道是在这里在生成一个列表,但是分页还是没用
                $content = spClass("lib_content");
                $total = $content->findCount(array('catid'=>$value['id'],'status'=>1));
               
                $perpage = 5;
                $pagenum = ceil($total/$perpage);
                for($i = 1;$i <= $pagenum;$i++){
                    $urls[] =  array(
                        array('content','index',array('catid'=>$value['id'],'offset'=>$value['offset'],'p'=>(string)$i)),'../a/news_'.$i.'.html'  // 这里和spUrl的参数是相同的
                    );
               }
            }
        }
        spClass('spHtml')->makeAll($urls); // 使用makeAll来制作
        echo "新闻中心二级栏目页生成完毕!<br />";
    }
您需要登录后才可以回帖 登录 | 论坛注册

Archiver|SpeedPHP.com ( 粤ICP备08008671号 )  

GMT+8, 2012-2-7 01:18

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部