说明:
在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; }
<完>