DedeCMS列表页输出附件下载地址

说明:
  在DedeCMS列表中直接输出文章所含附件的下载链接。

用法:
  

[field:body function="getDownloadUrl(@me)" /]

操作:
需要改动2个文件:
  第一个:/include/extend.func.php
  第二个:/include/fckeditor/editor/dialog/dede_addon.php
  
在第一个文件中添加函数:

/**
 * 说明:输出文章内容中的附件地址,参数为文章内容

**/ 

function getDownloadUrl($string, $name = '下载附件', $target="_blank"){
    if (empty($string)) return '';
    $rs = preg_match('/regfile="(.*?)"/i',$string,$array);
    if (!empty($array[1])){
        $url = $array[1];
        // 模板标签中使用的函数不能传入多个参数,所以HTML一块输出
        $html = '<a href="' .$url. '" target="' .$target. '">(' . $name . ')</a>';
        return $html;
    }
    //'功能制作中……';
}

修改第二个文件中的Ok函数中的rvalue为:

function Ok()
{
    var rurl,widthdd,heightdd,rvalue,rurlname,addonname;
    rurlname = form1.rurl.value;
    addonname = form1.rname.value;
    if(addonname=='') addonname = rurlname;
    rurl = encodeURI(form1.rurl.value);
    rvalue = '<table width="450">';
    rvalue += '<tr><td height="30" width="20">';
    rvalue += '<a href="' + rurl+'" target="_blank"><img src="<?php echo $cfg_phpurl; ?>/img/addon.gif" border="0" align="center"></a>';
    rvalue += '</td><td>';
    // 为a签到添加regfile属性供刚添加的getFileUrl函数使用
    rvalue += '<a regfile="' + rurl +'" href="'+ rurl +'" target="_blank"><u>'+ addonname + '</u></a>';
    rvalue += '</td></tr></table>';
    oEditor.FCK.InsertHtml(rvalue);
    return true;
}

<完>

原文地址:https://www.cnblogs.com/Byrd/p/2127684.html