本帖最后由 bing15 于 2013-03-06 16:36:02 编辑

解决方案 »

  1.   

    php 怎么做,smarty 还是一样的没啥区别
      

  2.   

    把生成的内容5个页要做成一定格式的页面,应该需要在smarty中专门写个方法
      

  3.   

    http://bbs.php100.com/read-htm-tid-308311.html
      

  4.   

    我已经做成功了,分享代码给大家,希望以后有人用得着。public function tplmakelist(&$tpl){
    $pageSize=1;
    $_field=array('a.id','a.title','b.typedir','b.templist','b.keywords','b.description');
    $this->_tables=array(DB_FREFIX.'article a',DB_FREFIX.'article_category b');
    $data=parent::select($_field,array('where'=>array("a.catid=b.id AND b.id={$this->_R['typeid']}")));
    $total=count($data);//分类下的所有文章
    $pageTotal=ceil($total/$pageSize);//共有多少个分页
    $tpl->template_dir=SMARTY_TEMPLATE_DIR;
    for ($i=1;$i<=$pageTotal;$i++){//生成的页数
    $file_name=ROOT_PATH.$data[0]->typedir."/list_{$this->_R['typeid']}_$i.html";
    $this->_tables=array(DB_FREFIX.'article a',DB_FREFIX.'article_category b');
    $firstPage = ($i-1)*$pageSize;
    $datas=parent::select($_field,array('where'=>array("a.catid=b.id AND b.id={$this->_R['typeid']}"),'limit'=>"$firstPage,$pageSize"));
    $tpl->assign('findlist',$data[0]);
    $tpl->assign('pagelist',$datas);
    $content=$tpl->fetch($data[0]->templist);
    $this->MakeHtmlFile($file_name, $content);
    } }
    private function MakeHtmlFile($file_name, $content)
         {     //目录不存在就创建
             if (!file_exists (dirname($file_name))) {
                  if (!@mkdir (dirname($file_name), 0777)) {
                          die($file_name."目录创建失败!");
                  }
              }
         if(!$fp = fopen($file_name, "w")){
                  echo "文件打开失败!";
                  return false;
              }
              if(!fwrite($fp, $content)){
                  echo "文件写入失败!";
                 fclose($fp);
                  return false;
              }
          fclose($fp);
           chmod($file_name,0666);
          }{foreach from=$pagelist item=list}
    <div><a href="">{$list->title}</a></div>
    {/foreach}以后如果你要用的话,把数据库的字段换下,连接数据库根据你自己的引擎来写,当然还有待扩展,刚写完的。