dede网站地图获取所有分页列表的分页网址

本人用于sitemap.xml,但不局限于此 新建 sitelink.lib.php[名字可任意命名,按规则即可],内容如下 ?php /* 获取所有分页列表的分页网址 如--- http://www.abc.com/abc/list_145_2.html http://www.abc.com/abc/list_145_3.html http://www.abc.com/abc/list_1

本人用于sitemap.xml,但不局限于此

新建 sitelink.lib.php[名字可任意命名,按规则即可],内容如下

<?php

/*
获取所有分页列表的分页网址
如--->
http://www.abc.com/abc/list_145_2.html
http://www.abc.com/abc/list_145_3.html
http://www.abc.com/abc/list_145_x.html
...
*/
if(!defined('DEDEINC')) exit('Request Error!');
 
function lib_sitelink(&$ctag,&$refObj)
{
    global $dsql,$envs;
 
    $attlist='typeid|0,pagesize|0';
    FillAttsDefault($ctag->CAttribute->Items,$attlist);
    extract($ctag->CAttribute->Items, EXTR_SKIP);
    $innertext = trim($ctag->GetInnerText());
 
    if($typeid==0) {
        $typeid = ( isset($refObj->TypeLink->TypeInfos['id']) ? $refObj->TypeLink->TypeInfos['id'] : $envs
 
['typeid'] );
    }
    //如果没有指定每页显示多少条--->pagesize,则默认为10
    if(empty($pagesize)) $pagesize=10;
     
    $dsql->Execute('me','select id,typedir from dede_arctype where ispart=0');
    while($rs = $dsql->GetArray('me')){
    //loop begin    
         
        $typedir = str_replace('{cmspath}',$GLOBALS['cfg_basehost'],$rs['typedir']);
        $num=$dsql->GetOne('select count(*) as page from dede_archives where typeid='.$rs['id']);
         
        $page=$dsql->GetOne('select ceil('.$num['page'].'/'.$pagesize.') as a');
 
        for($i=2;$i<=$page['a'];$i++){
            $sitelink = '<url><loc>'.$typedir.'/list_'.$rs['id'].'_'.$i.'.html'.'</loc></url>';
            $row['sitelink'] = $row['sitelink'].$sitelink;
        }
    //loop end
    }
     
    if(!is_array($row)) return '';
     
    if(trim($innertext)=='') $innertext = GetSysTemplets("part_type_list.htm");
     
    $dtp = new DedeTagParse();
    $dtp->SetNameSpace('field','[',']');
    $dtp->LoadSource($innertext);
    if(!is_array($dtp->CTags))
    {
        unset($dtp);
        return '';
    }
    else
    {
        foreach($dtp->CTags as $tagid=>$ctag)
        {
            if(isset($row[$ctag->GetName()])) $dtp->Assign($tagid,$row[$ctag->GetName()]);
        }
        $revalue = $dtp->GetResult();
        unset($dtp);
        return $revalue;
    }
}

?>


模版调用---->如果没有指定每页显示多少条--->pagesize,则默认为10

注---->上面--->line--->37--->$sitelink = '<url><loc>'.$typedir.'/list_'.$id.'_'.$i.'.html'.'</loc></url>\n'; 可根据具体情况自定义

{dede:sitelink pagesize='20'}
[field:sitelink/]
{/dede:sitelink}

 上传至 \include\taglib\ 下即可


本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

这篇文章给大家分享的是有关织梦dedecms调用当前栏目文章数的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 做模板时,经常需要为每个栏目加上此栏目的文章数。和大家分享下实现的方法,此方法适合5.6及5.7、5.7sp1其它
现在许多网站使用了SSL技术,网站采用https链接,我们在复制https链接网站的内容,发现图片无法本地化,那么我们想要将这些图片本地化,要怎么操作呢? 第一步: 找到dede/inc/inc_archives_functions.php (注:前边红色的dede目录是您的后台目录) 定位到
最终实现效果如下图:内容生成之后会自动加上本篇文章的tags标签(文档生成时候自动加入,编辑器中内容实际没加入,更有利) 实现教程 1、后台-系统-核心设置-关键字替换,选择【是】 2、后台-系统-其他选项-关键词替换次数,填【1】或者【0】 1:表示文档内
我们传图集后需要对图片进行删除,但是系统提示已删除,实际还保存在网站目录里,这个要怎么解决呢? 打开 \dede\swfupload.php 找到 if(!file_exists($imgfile) !is_dir($imgfile) preg_match(#^.$cfg_medias_dir.#, $imgfile)) 替换成: if(file_exists($i
织梦tags标签只能写12个字符也就是6个汉字,多出的字符就会自动截断,或者直接被去除,不单单需要通过修改数据库字段长度,还要修改程序文件来改变tags字数限制,tags标签默认长度。 1、修改tags数据表字段长度 后台-系统-SQL命令行工具-执行下面2句语句(一起
大家都知道,Discuz程序在发文章时有个【隐藏】功能,可以限制这个隐藏内容供某些级别的会员查看。 在织梦模板中,做些改动,也是可以实现的。例如:电话号码,下载地址等等。 前提是开启会员功能,已经有了自定义字段。 一、建立文件 ajax_loginsta_c.php: