文章内容
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;
}
}
