📄 labelmass_method5.cs
字号:
//======================================================
//== (c)2008 aspxcms inc by NeTCMS v1.0 ==
//== Forum:bbs.aspxcms.com ==
//== Website:www.aspxcms.com ==
//======================================================
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Text.RegularExpressions;
using NetCMS.Config;
using NetCMS.Model;
namespace NetCMS.Publish
{
public partial class LabelMass
{
/// <summary>
/// 生成列表类信息,频道
/// </summary>
/// <param name="ChID">频道ID</param>
/// <returns>返回值</returns>
public string Analyse_ChannellList(string Tags,int ChID)
{
//判断数据库是否存在
string ChTable = CommonData.DalPublish.GetCHDatable(ChID);
if (ChTable == "#")
{
return "频道数据库找不到!";
}
string mystyle = this.Mass_Inserted;
string styleid = Regex.Match(mystyle, @"\[\#NT:StyleID=(?<sid>[^\]]+)]", RegexOptions.Compiled).Groups["sid"].Value.Trim();
if (!styleid.Equals(string.Empty))
{
mystyle = LabelStyle.GetCHStyleByID(int.Parse(styleid), ChID);
}
if (mystyle.Trim().Equals(string.Empty))
return string.Empty;
string str_NewsType = this.GetParamValue("NT:Type");
string str_ClassID = this.GetParamValue("NT:ClassID");
string str_SpecialID = this.GetParamValue("NT:SpecialID");
int n_Cols;
if (!int.TryParse(this.GetParamValue("NT:Cols"), out n_Cols))
n_Cols = 1;
if (n_Cols < 1)
n_Cols = 1;
string str_Desc = this.GetParamValue("NT:Desc");
string str_DescType = this.GetParamValue("NT:OrderBy");
string str_isDiv = this.GetParamValue("NT:isDiv");
string str_isPic = this.GetParamValue("NT:isPic");
string str_TitleNumer = this.GetParamValue("NT:TitleNumer");
string str_ClickNumber = this.GetParamValue("NT:ClickNumber");
string str_ShowDateNumer = this.GetParamValue("NT:ShowDateNumer");
string str_ShowNavi = this.GetParamValue("NT:ShowNavi");
string str_NaviCSS = this.GetParamValue("NT:NaviCSS");
string str_ColbgCSS = this.GetParamValue("NT:ColbgCSS");
string SqlFields = " [ID] ";
string SqlCondition = ChTable + " Where [islock]=0";
//-------判断是否调用图片
if (str_isPic == "true")
{
SqlCondition += " And [PicURL]<>''";
}
else if (str_isPic == "false")
{
SqlCondition += "And [PicURL]=''";
}
//-------判断是否显示点击率大于多少
if (str_ClickNumber != null && str_ClickNumber != "")
{
SqlCondition += " And [Click] > " + int.Parse(str_ClickNumber);
}
//-------判断显示最近多少天内信息
if (str_ShowDateNumer != null && str_ShowDateNumer != "")
{
SqlCondition += " And DateDiff(Day,[CreatTime] ,Getdate()) < " + int.Parse(str_ShowDateNumer);
}
//判断是否相关新闻
if (Tags != null && Tags != string.Empty)
{
SqlCondition += " And ([Tags] Like '%" + Tags + "%' or title Like '%" + Tags + "%')";
}
///判断新闻类型 推荐|热点|幻灯|滚动|头条
switch (str_NewsType)
{
case "last":
break;
case "rec":
SqlCondition += " And ContentProperty like '1%'";
break;
case "mar":
SqlCondition += " And ContentProperty like '______1%'";
break;
case "hot":
SqlCondition += " And ContentProperty like '__1%'";
break;
case "filt":
SqlCondition += " And ContentProperty like '____1%'";
break;
case "tnews":
SqlCondition += " And ContentProperty like '________1%'";
break;
case "special":
if (str_SpecialID != null)
{
SqlCondition += " And SpecialID='" + str_SpecialID + "'";
}
else if (this.Param_CurrentSpecialID != null)
{
SqlCondition += " And SpecialID='" + this.Param_CurrentSpecialID + "'";
}
else
{
return string.Empty;
}
break;
case "constr":
SqlCondition += " And [isConstr]=1";
break;
default:
break;
}
string SqlOrderBy = string.Empty;
//-------排序
if (str_NewsType == "last")
{
SqlOrderBy += " order by CreatTime desc,ID Desc";
}
else
{
if (str_Desc != null && str_Desc.ToLower() == "asc")
{
SqlOrderBy += " asc";
}
else
{
SqlOrderBy += " Desc";
}
switch (str_DescType)
{
case "id":
SqlOrderBy = " Order By id " + SqlOrderBy + "";
break;
case "CreatTime":
SqlOrderBy = " Order By [CreatTime] " + SqlOrderBy + ",id " + SqlOrderBy + "";
break;
case "click":
SqlOrderBy = " Order By [Click] " + SqlOrderBy + ",id " + SqlOrderBy + "";
break;
case "orderid":
SqlOrderBy = " Order By [OrderID]" + SqlOrderBy + ",id " + SqlOrderBy + "";
break;
default:
if (str_NewsType == "hot")
{
SqlOrderBy = " Order By [Click] " + SqlOrderBy + ",id " + SqlOrderBy + "";
}
else
{
SqlOrderBy = " Order By [CreatTime] " + SqlOrderBy + ",id " + SqlOrderBy + "";
}
break;
}
}
#region 对栏目进行判断
string Sql = string.Empty;
#region 子类
if (str_ClassID == null || str_ClassID == "0")
{
if (this._TemplateType == TempType.ChClass)
{
SqlCondition += " And [ClassID]=" + this.Param_CurrentCHClassID + "";
Sql = "select top " + Param_Loop + " " + SqlFields + " from " + SqlCondition + " " + SqlOrderBy;
}
else
{
Sql = "select top " + Param_Loop + " " + SqlFields + " from " + SqlCondition + SqlOrderBy;
}
}
else if (str_ClassID == "-1")
{
Sql = "select top " + Param_Loop + " " + SqlFields + " from " + SqlCondition + SqlOrderBy;
}
else
{
SqlCondition += " And [ClassID] =" + int.Parse(str_ClassID) + "";
Sql = "select top " + Param_Loop + " " + SqlFields + " from " + SqlCondition + SqlOrderBy;
}
#endregion
#endregion 对栏目进行判断
DataTable dt = CommonData.DalPublish.ExecuteSql(Sql);
if (dt == null || dt.Rows.Count < 1) return string.Empty;
string str_newslist = string.Empty;
int i;
int nTitleNum = 30;
if (str_TitleNumer != null && NetCMS.Common.Input.IsInteger(str_TitleNumer))
{
nTitleNum = int.Parse(str_TitleNumer);
}
int dtcount = dt.Rows.Count;
string[] arr_ColbgCSS = null;
bool b_ColbgCss = false;
if (str_ColbgCSS != null)
{
arr_ColbgCSS = str_ColbgCSS.Split('|');
b_ColbgCss = true;
}
string row = string.Empty;
for (i = 0; i < dtcount; i++)
{
str_ColbgCSS = "";
if (b_ColbgCss)
{
if (i % 2 == 0)
str_ColbgCSS = " class=\"" + arr_ColbgCSS[0].ToString() + "\"";
else
str_ColbgCSS = " class=\"" + arr_ColbgCSS[1].ToString() + "\"";
}
if (str_isDiv == "false")
{
row = getNavi(str_ShowNavi, str_NaviCSS, "", i) + " ";
row += Analyse_ChRead((int)dt.Rows[i][0], nTitleNum, mystyle, styleid, 0, ChTable, ChID);
if (n_Cols == 1)
{
str_newslist += "<tr>" + newLine + "<td" + str_ColbgCSS + ">" + newLine + row + newLine + "</td>" + newLine + "</tr>" + newLine;
}
else
{
row = "<td width=\"" + (100 / n_Cols) + "%\"" + str_ColbgCSS + ">" + newLine + row + newLine + "</td>" + newLine;
if (i > 0 && ((i + 1) % n_Cols == 0))
row += "</tr>" + newLine + "<tr>" + newLine;
str_newslist += row;
}
}
else
{
str_isDiv = "true";
str_newslist += getNavi(str_ShowNavi, str_NaviCSS, "", i);
str_newslist += Analyse_ChRead((int)dt.Rows[i][0], nTitleNum, mystyle, styleid, 0, ChTable, ChID);
}
}
dt.Clear();
dt.Dispose();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -