如何处理发布公告时能够上传附件及提供下载
作者:动易网络
来源:本站原创
点击数: 次
发布时间:2013年10月08日
在发布公告时,是不能上传附件的,因为公告的内容字段不同于文章的内容字段格式,所以要上传附件,我们必须通过添加自定义字段方式来实现。
第一步:进行入公告模型了字段管理,添加一个“文件”格式的字段,如图所示
保存好字段。
第二步:进入标签管理,修改公告的数据源标签“公告_内容页”,加上对这个字段的定义
添加如下代码:
- "/NewDataSet/Table/fujian"/>
位置在上方即可,如图所示
然后保存标签。
第三步:添加一个再次解析这个字段的标签,因为这个字段在数据源直接解析出来的效果将会是如下格式:
- 下载地址1|xxgk/2013/10/2013108102317.xls
这里的“下载地址1|”是要去掉的,所以要借用系统提供的函数来处理一下(函数参考文档请点这里)
我们可以复制一个系统已经提供的“显示下载地址”这个标签
然后,我们修改复制后的标签,添加个参数及最后调整定义代码:
添加后,点下一步,修改SQL语句如下:
- SELECT fujian FROM @tableName WHERE ID=(SELECT TOP 1 ItemID FROM PE_CommonModel WHERE GeneralID=@itemId AND Status = 99)
然后再下一步,修改为如下代码
- "1.0" encoding="UTF-8"?>
- "1.0" xmlns:xsl="" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:lewi="http://www.powereasy.net" xmlns:pe="labelproc" exclude-result-prefixes="pe ms lewi">
- "xml" version="1.0" encoding="UTF-8" indent="yes"/>
- "itemId" />
- "fujian" />
- "/">
- if test="$fujian!= ''">
- "splitStr">
- with-param name="srcStr" select="$fujian"/>
- if>
- "splitStr">
- "srcStr"/>
- "contains($srcStr,'$$$')">
- "{pe:ConvertToAbsolutePath(substring-after(substring-before($srcStr,'$$$'),'|'))}">下载1
- "dstStr" select="substring-after($srcStr,'$$$')" />
- "contains($dstStr,'$$$')">
- "splitStr">
- with-param name="srcStr" select="$dstStr"/>
- "{pe:ConvertToAbsolutePath(substring-after($dstStr,'|'))}">下载2
- "{pe:ConvertToAbsolutePath(substring-after($fujian,'|'))}"> 附件下载
图片示例为:
然后保存此标签。
第四步:修改模板,添加对这个标签调用:
- {PE.Label id="显示下载地址(1)" itemId="@RequestInt_id" tableName="PE_U_Announce" fujian="{PE.Field id="cone" fieldname="fujian" /}" /}
保存模板,这样在前台页面就能正确调用出附件的地址提供下载。