如何自定义destoon的地址生成规则

    发布时间:2018-03-04

    589

    阅读量


    在使用destoon的过程中需要对地址规则进行重写,那么如何实现,

    Destoon的列表的地址规则是定义在/api/url.inc.php,然后又是在include/global.func.php中进行的listpages这个函数调用实现

    if($page < 1 || $page > $total) $page = 1;
    $home_url = $MOD['linkurl'].$CAT['linkurl'];
    $demo_url = $MOD['linkurl'].listurl($CAT, '{destoon_page}');
    //这个地方加入自定义的规则就可以了
    if($MOD['moduleid']==21)
    {
    $demo_url ="/nl".$CAT["catid"]. listurl($CAT, '{destoon_page}');
    }
    $pages = '';


    而频道首页的地址规则则是在pages这个函数中进行的调用

    function pages($total, $page = 1, $perpage = 20, $demo = '', $step = 3) {

    如果要变首页列表地址的规则在demo这个参数上写上自己定义的规则就可以了,那么如何加入自己规则呢

    首页的模板一般是通过tag这个函数来进行调用显示的,可以在tag函数中加入对ID的判断呢?在include/tag.func.php中if($showpage),这个地方加入自己定义的规则就可以了

    if($moduleid==5) $pages=pages($num, $page, $pagesize,"/sell_{destoon_page}/");
    if($moduleid==21) $pages=pages($num, $page, $pagesize,"/news_{destoon_page}/");


    一般情况下这样做就可以实现了,如果还不能达到要求,可以自己写一段代码
    面包屑导航的cat_pos,这个地方如果需要自定义就可以根据ID号自己进行判断了

    foreach($arrparentid as $catid)
    {
    if(!$catid ) continue;
    if( $CATEGORY[$catid]['moduleid']==5)
    $pos .= '<a href="/a1'. $catid.'/"'.$target.'>'.$CATEGORY[$catid]['catname'].'</a>'.$str;

    if( $CATEGORY[$catid]['moduleid']==21)
    $pos .= '<a href="/nl'. $catid.'/"'.$target.'>'.$CATEGORY[$catid]['catname'].'</a>'.$str;
    }