DTCMS自定義標簽,獲取所有欄目文章列表TOP,以及文章通用URL


網站最近更新等地方,發現DTCMS沒有獲取所有欄目文章列表的標簽,只能自己寫

思路:獲取所有欄目文章列表不難,難點在於linkurl的寫法

1、制作獲取所有文章列表標簽

DTcms.Web.UI\Label\article.cs中

  /// <summary>
        /// 自定義:文章列表
        /// </summary>
        /// <param name="top">顯示條數</param>
        /// <param name="strwhere">查詢條件</param>
        /// <returns>DataTable</returns>
        protected DataTable get_article_list(int top, string strwhere)
        {
            return new BLL.article().GetList(top, strwhere, " sort_id asc,add_time desc").Tables[0];
        }

 

2、制作linkurl,首先需要獲得文章詳細頁的調用名稱,比如furniture_show,組成linkurl("furniture_show",{dr[id]})。{dr[id]}為文章ID,

這里需要讀取xmlconfig\urls.config 節點

DTcms.Web.UI\Label\category.cs中 增加兩個標簽

 /// <summary>
        /// 自定義:根據欄目的別名 返回URL名稱
        /// </summary>
        /// <param name="category_name">欄目的別名</param>
        /// <returns>String</returns>
        protected string get_url_name(string category_name, string attrType)
        {
            string urlchannel = string.Empty;
            BLL.url_rewrite bll = new BLL.url_rewrite();
            if (!string.IsNullOrEmpty(category_name))
            {
                urlchannel = bll.GetInfo(category_name, attrType).name;
            }
            return urlchannel;
        }
        /// <summary>
        /// 自定義:返回當前類別調用別名
        /// </summary>
        /// <param name="category_id">類別ID</param>
        /// <returns>String</returns>
        protected string get_category_name(string category_id)
        {
            string default_value = string.Empty;
            BLL.channel bll = new BLL.channel();
            if (bll.Exists(Convert.ToInt32(category_id)))
            {
                return bll.GetModel(Convert.ToInt32(category_id)).name;
            }
            return default_value;
        }

3、在index.html模版中

   <%set DataTable redNews=get_article_list(1, "status=0 and is_red=1 and img_url<>''")%>
          <%foreach(DataRow dr in redNews.Rows)%>
          <li>
            <a title="{dr[title]}" href="<%linkurl(get_url_name(get_category_name({dr[channel_id]}),"detail"),{dr[id]})%>">
              <span class="note-bg"></span>
              <span class="note-txt">{dr[title]}</span>
              <img src="{dr[img_url]}" />
            </a>
          </li>
          <%/foreach%>

 

   <%set DataTable newest=get_article_list(10, "status=0 ")%>
          <%foreach(DataRow dr in newest.Rows)%>
<li><span><%datetostr({dr[add_time]},"yyyy-MM-dd")%></span><a title="{dr[title]}" href="<%linkurl(get_url_name(get_category_name({dr[channel_id]}),"detail"),{dr[id]})%>">
        <%cutstring({dr[title]},35)%></a></li>
  <%/foreach%>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM