程序员人生 网站导航

PHPCMS升级至sp2无法更新栏目生成的解决方法

栏目:DedeCMS时间:2014-06-06 18:22:10

  网(LieHuo.Net)教程 发现有少部分会员升级PHPCMS到sp2后栏目无法更新,表现为添加文章提交后后台跳到栏目页面的问题,请打开include/global.func.php文件,找到 function pages函数,将整个函数修改为如下代码:

以下为引用的内容:

function pages($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(), $catid = 0)
{
global $PHPCMS;
if($PHPCMS['pagemode'] && $num > $perpage)
{
  $multipage = '';
  if($num > $perpage)
  {
   $page = 11;
   $offset = 4;
   $pages = ceil($num / $perpage);
   $from = $curr_page - $offset;
   $to = $curr_page + $offset;
   $more = 0;
   if($page >= $pages)
   {
    $from = 2;
    $to = $pages-1;
   }
   else
   {
    if($from <= 1)
    {
     $to = $page-1;
     $from = 2;
    }
    elseif($to >= $pages)
    {
     $from = $pages-($page-2); 
     $to = $pages-1; 
    }
    $more = 1;
   }
   if($urlrule == '') $urlrule = url_par('page={$page}');
   $url = load('url.class.php');
   $multipage .= '总数:<b>'.$num.'</b>&nbsp;&nbsp;';
  
   if($curr_page>0)
   {
    $multipage .= $catid ? '<a href="'.$url->category($catid, $curr_page-1, 1, 1).'">上一页</a>' : '<a href="'.pageurl($urlrule, $curr_page-1, $array).'">上一页</a>';
    if($curr_page==1)
    {
     $multipage .= '<u><b>1</b></u> ';
    }
    elseif($curr_page>6 && $more)
    {
     $multipage .= $catid ? '<a href="'.$url->category($catid, 1, 1, 1).'">1</a>..' : '<a href="'.pageurl($urlrule, 1, $array).'">1</a>..';
    }
    else
    {
     $multipage .= $catid ? '<a href="'.$url->category($catid, 1, 1, 1).'">1</a>' : '<a href="'.pageurl($urlrule, 1, $array).'">1</a> ';
    }
   }
   for($i = $from; $i <= $to; $i++)
   {
    if($i != $curr_page)
    {
     $multipage .= $catid ? '<a href="'.$url->category($catid, $i, 1, 1).'">'.$i.'</a> ' : '<a href="'.pageurl($urlrule, $i, $array).'">'.$i.'</a> ';
    }
    else
    {
     $multipage .= ' <u><b>'.$i.'</b></u> ';
    }
   }
   if($curr_page<$pages)
   {
    if($curr_page<$pages-5 && $more)
    {
     $multipage .= $catid ? '..<a href="'.$url->category($catid, $pages, 1, 1).'">'.$pages.'</a> <a href="'.$url->category($catid, $curr_page+1, 1, 1).'">下一页</a>' : '..<a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'">下一页</a>';
    }
    else
    {
     $multipage .= $catid ? '<a href="'.$url->category($catid, $pages, 1, 1).'">'.$pages.'</a> <a href="'.$url->category($catid, $curr_page+1, 1, 1).'">下一页</a>' : '<a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'">下一页</a>';
    }
   }
   elseif($curr_page==$pages)
   {
   $multipage .= ' <u><b>'.$pages.'</b></u><a href="'.$url->category($catid, $curr_page, 1, 1).'">下一页</a>';
   }
  }
  return $multipage;
}
else
{
  $total = $num;
  $page = $curr_page;
  if($num < 1) return '';
  if($urlrule == '') $urlrule = url_par('page={$page}');
  $pages = ceil($total/$perpage);
 
  $page = min($pages, $page);
  $prepage = $page - 1;
  $prepage = max($prepage, 1);
  $nextpage = $page+1;
  $nextpage = min($nextpage, $pages);
  if($catid)
  {
   $url = load('url.class.php');
   $firstpage = $url->category($catid, 1, 1, 1);
   $prepage = $url->category($catid, $prepage, 1, 1);
   $nextpage = $url->category($catid, $nextpage, 1, 1);
   $lastpage = $url->category($catid, $pages, 1, 1);
   $urlpre = $url->category($catid, '', 1, 1);
  }
  else
  {
   $firstpage = pageurl($urlrule, 1, $array);
   $prepage = pageurl($urlrule, $prepage, $array);
   $nextpage = pageurl($urlrule, $nextpage, $array);
   $lastpage = pageurl($urlrule, $pages, $array);
   $urlpre = pageurl($urlrule, '', $array);
  }
  $data = str_replace('"', '"', $PHPCMS['pageshtml']);
  eval("$url = "$data";");
  return $url;
}
}

  修改前请先备份,切记,没有问题的可以飘过……另外,以上代码同样适用以下情况:

  栏目页链接到后台;

  栏目页生成链接为array空链接;

  栏目页页面无法生成的参考:http://www.veryhuo.com/a/view/8631.html

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐