dedecms 欄目列表分頁鏈接優(yōu)化

字號:


    DEDE默認(rèn)欄目列表分頁鏈接,這種鏈接方式其實(shí)并不十分合理.
    DEDE默認(rèn)欄目列表分頁鏈接如:
    <li><a href='list_4_1.html'>首頁</a></li>
    <li><a href='list_4_3.html'>上一頁</a></li>
    <li><a href='list_4_1.html'>1</a></li>
    <li><a href='list_4_2.html'>2</a></li>
    <li><a href='list_4_3.html'>3</a></li>
    <li>4</li>
    <li><a href='list_4_5.html'>5</a></li>
    <li><a href='list_4_5.html'>下一頁</a></li>
    <li><a href='list_4_5.html'>末頁</a></li>
    這種鏈接方式其實(shí)并不十分合理,比如這是http://www.abc.com/abc/這個欄目的列表分頁鏈接,下面的鏈接方式才更合理:
    <li><a href='/abc/'>首頁</a></li>
    <li><a href='list_4_3.html'>上一頁</a></li>
    <li><a href='/ab/'>1</a></li>
    <li><a href='list_4_2.html'>2</a></li>c
    <li><a href='list_4_3.html'>3</a></li>
    <li>4</li>
    <li><a href='list_4_5.html'>5</a></li>
    <li><a href='list_4_5.html'>下一頁</a></li>
    <li><a href='list_4_5.html'>末頁</a></li>
    1.找到\include\arc.listview.class.php這個文件,將$typedir= ereg_replace('^(.*)/','',$this->Fields['typedir']);這種代碼添加到“//獲得上一頁和主頁的鏈接”前;
    2.找到$indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>首頁</a></li>\r\n";將其改為$indexpage="<li><a href='/".$typedir."/'>首頁</a></li>\r\n";
    3.找到$prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一頁</a></li>\r\n";改為:
    代碼如下:
    if($prepagenum==1)
    {
    $prepage.="<li><a href='/".$typedir."/'>上一頁</a></li>\r\n";
    }
    else
    {
    $prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一頁</a></li>\r\n";
    }
    4.找到$listdd.="<li><a href='".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li>\r\n";改為:
    if($j==1)
    {
    $listdd.="<li><a href='/".$typedir."/'>1</a></li>\r\n";
    }
    else
    {
    $listdd.="<li><a href='".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li>\r\n";
    }
    使用這種方法的前提是生成的欄目列表頁面要放在欄目的根文件夾下。