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 ;
}

<完>

你可能感兴趣的:(dedecms)