一个DEDE下载页面的函数,动态显示所有一级栏目名


//以下为获取栏目列表,By 尘缘
$dsql = new DedeSql(false);
$menuquerysql = "Select typedir,typename from `#@__arctype` where reid='0'";
$dsql->Execute('me',$menuquerysql);
while($row = $dsql->getarray())
{
$menus= $menus."

  • ".$row['typename']."
  • \r\n";
    }
    $dsql->Close();

  • 将以上代码加到plus/download.php中,位置任意,在模板中调用< ?=menus?>即可.
    这里主要是分析了DEDE的Mysql函数,感觉好用。
    记号一下。
    继续阅读一个DEDE下载页面的函数,动态显示所有一级栏目名

    DEDE文章内容页标题的优化

    {dede:field name='title'/}-{dede:field name='position' runphp='yes'}
    $tc="-"; //分隔符
    $tw=$GLOBALS['cfg_list_symbol']; //调用位置分隔符
    @me=html2text(@me); //去除html标签
    $tf=split($tw,@me); //分解成数组
    for($ta=(count($tf)-2);$ta>=1;$ta--){ //循环赋值给$tk
    $tk.=trim($tf[$ta]).$tc;
    }
    $tk=substr($tk,0,-1);
    @me=$tk; //赋值给@me
    {/dede:field}-{dede:global name='cfg_webname'/}

    将以上代码放在之间就可以实现“文章标题-2级栏目-1级栏目-网站名”的形式了

    DEDECMS 删除文章时删除缩图和内容中大图

    打开dede/inc/inc_batchup.php找到"//删除数据库的内容"
    在这前面加上

    //删除缩略图
    if($arcRow['litpic']!=""){
    $dsql->ExecuteNoneQuery("Delete From #@__uploads where url='$arcRow[litpic]'");
    $truedir = GetTruePath($arcRow['siterefer'],$arcRow['sitepath']);
    $litpicfile = $truedir.$arcRow['litpic'];
    @unlink($litpicfile);
    }
    //删除大图
    $arcbodyQuery = "Select * from ".$arcRow['addtable']." where aid='$aid'";
    $arcbodyRow = $dsql->GetOne($arcbodyQuery);
    $imgsrcarray=GetImageSrc($arcbodyRow['body']);
    foreach ($imgsrcarray as $v) {
    if((trim($v)!="")&&(!eregi("^http://",$v))){
    $dsql->ExecuteNoneQuery("Delete From #@__uploads where url='$v'");
    $picfile = $truedir.$v;
    @unlink($picfile);
    }
    }

    //删除数据库的内容

    第二处:
    找到
    Select #@__archives.ID,#@__archives.title,#@__archives.typeid
    改为:
    Select #@__archives.ID,#@__archives.title,#@__archives.typeid,#@__archives.litpic

    第三处:
    在文件最后加上一函数
    //获得内容中的图像地址
    function GetImageSrc($body){
    if( !isset($body)) return '';
    else{
    preg_match_all ("/<(img|IMG)(.*)(src|SRC)=[\"|'|]{0,}([h|\/].*(jpg|JPG|gif|GIF))[\"|'|\s]{0,}/isU",$body,$out);
    return $out[4];
    }
    }