说明:
在DedeCMS列表中直接输出文章所含附件的下载链接。
用法:
[field:body function="getDownloadUrl(@me)" /]
操作:
需要改动2个文件:
第一个:/include/extend.func.php
第二个:/include/fckeditor/editor/dialog/dede_addon.php
在第一个文件中添加函数:
/**
* 说明:输出文章内容中的附件地址,参数为文章内容
* 作者:upall,http://upall.cn/
* 日期:22:44 2011年7月22日 星期五
* 提示:适用于DedeCMS 5.7 UTF-8
*/
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;
}
<完>