
文章内容
dtcms做网站有的时候需要实现在列表页面直接下载文章附件的功能,可以dtcms并没有这个功能,那么应该怎么写呢?上代码
<div class="container"> <ul> <%set DataTable down_list=get_article_list(channel, category_id, pagesize, page, "status=0", out totalcount, out pagelist, "down", category_id, "__id__")%> <!--取得一个分页DataTable--> <%foreach(DataRow dr in down_list.Rows)%> <%set DTcms.Model.article models=get_article_model("down",{strtoint({dr[id]})})%> <%foreach(DTcms.Model.article_attach xz in models.attach)%> <li><a href="{xz.file_path}"> <div class="txt"> <h3> {dr[title]} </h3> <p> <%cutstring({dr[content]},200)%> </p> <span>查看更多 ></span> </div> </a></li> <%/foreach%> <%/foreach%> </ul> <div class="digg"> {pagelist} </div> </div>
那么发现一个问题dtcms并没有get_article_model()这个方法,我们找个一下DTcms.BLL里面的一个文件article.cs有一个方法,如下:
public Model.article ArticleModel(string channel_name, int article_id) { }
那就直接写一个方法get_article_model(),写在DTcms.Web.UI/Label/article.cs文件里面,代码如下
/// <summary> /// 根据调用标识取得内容 /// </summary> /// <param name="channel_name">频道名称</param> /// <param name="article_id">文章id</param> /// <returns>Model.article</returns> protected Model.article get_article_model(string channel_name, int article_id) { if (!string.IsNullOrEmpty(channel_name)) { return new BLL.article().ArticleModel(channel_name, article_id); } else { return null; } }