⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classproduct.asp

📁 依蓝旅游网站管理系统Elan2008.SP2
💻 ASP
📖 第 1 页 / 共 5 页
字号:
		 TempString = LCase(Left(MatchString, InStr(MatchString, "]")))
		 TempString = Replace(Replace(TempString, "[", ""), "]", "")
		 TempString = Replace(TempString, " ", "")
		 TempString = Replace(TempString, "arrclasslist", "")
		 TempString = Replace(Replace(TempString, "(", ""), ")", "")
		 Cols = EL_Common.ELClng(TempString)
		 If Cols < 1 Then Cols = 1
		 If ClassID = 0 Then
		    SQLCondition = "ChannelID="& ChannelID &" And ParentID="& ClassID &" And ShowOnIndex="& EL_True &" ORDER BY OrderID"
		 Else
		    SQLCondition = "ChannelID="& ChannelID &" And ParentID="& ClassID &" And ShowOnParent="& EL_True &" ORDER BY OrderID"
		 End If 
		 Call EL_Common.InitCommonCmd(ArrClassCmd, rsArrClass, "EL_Class", "ClassID,ClassName", SQLCondition)
		 rsArrClass.Close()
		 RowCount = ArrClassCmd(0)
		 If RowCount = 0 Then
		    Temp = ""
		 Else
			MatchString = EL_Common.ReplaceText(MatchString, "\[arrClassList\(([ 0-9]+)\)\]", "")
			MatchString = EL_Common.ReplaceText(MatchString, "\[\/arrClassList\]", "")			
			rsArrClass.Open()
			Temp = "<table width=100% border='0' cellpadding='0' cellspacing='0'><tr>"
			Dim ItemHTML, ArrClassID
		    For i = 1 To RowCount
			   ArrClassID = Replace(EL_Common.GetAllClassID(rsArrClass(0)), ",", "|")	
			   ItemHTML = ""		   
			   ItemHTML = EL_Common.RegExpStaticLabel(MatchString, "{$arr_ClassID}", rsArrClass(0).value)			   
			   ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$arr_ClassName}", rsArrClass(1).value)
			   ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$arr_ClassURL}", InstallDir & EL_Channel.ChannelDir &"/ShowClass.asp?ClassID="& rsArrClass(0).value)
			   ItemHTML = EL_Common.ReplaceText(ItemHTML, "arr_AllChildID", ArrClassID)
			   ItemHTML = Label_GetProductList(ItemHTML)
			   ItemHTML = Label_GetProductPhoto(ItemHTML)
			   Temp = Temp &"<td width='"& 100/Cols &"%' valign='top'>"
			   Temp = Temp & ItemHTML
			   Temp = Temp &"</td>"
			   If (i Mod Cols)=0 And i<RowCount Then 
			      Temp = Temp &"</tr><tr>"
			   Else
			   If (i Mod Cols)>0 Then Temp = Temp &"<td>&nbsp;</td>"
			   End If
			   If i<RowCount Then rsArrClass.MoveNext
			Next
			Temp = Temp &"</tr></table>"
			rsArrClass.Close()
		 End if
		 Set rsArrClass = Nothing
		 Set ArrClassCmd = Nothing
		 ReturnString = Replace(ReturnString, Match.Value, Temp)
      Next	  
	  
	  Set Matches = Nothing
	  EL_Flag = True
	  Label_ArrClassList = ReturnString
   End Function
   
   Private Function Label_GetProductList(ByVal HTML)
      Dim Match, Matches, ReturnString, Parameters, Temp
	  CommonRegExp.Pattern = "<!--\{\$GetProductList\(([ 0-9]+|[ ]*ChannelID[ ]*),([ 0-9\|]+|[ ]*ClassID[ ]*),([ 0-9]+),([ 0-9]+),[ ]*(True|False)[ ]*,([ 0-9]+),[ ]*(True|False)[ ]*,[ ]*(True|False)[ ]*,[ ]*(True|False)[ ]*,([ 0-9]+),([ 0-9]+),([ 0-9]+),([ 0-9]+),([ 0-9]+),[ ]*(True|False)[ ]*,[ ]*(True|False)[ ]*,[ \w\""]*,[ \w\""]*,[ \w\""]*\)\}-->"        
      Set Matches = CommonRegExp.Execute(HTML)
	  ReturnString = HTML
	  Temp = ""
	  For Each Match in Matches
		 Parameters = EL_Common.GetLabelParameters(Match.Value, "GetProductList")		 
		 Temp = ProductList(Parameters(0), Parameters(1), Parameters(2), Parameters(3), Parameters(4), Parameters(5), Parameters(6), Parameters(7), Parameters(8), Parameters(9), Parameters(10), Parameters(11), Parameters(12), Parameters(13), Parameters(14), Parameters(15), Parameters(17), Parameters(17), Parameters(18))		 
		 ReturnString = Replace(ReturnString, Match.Value, Temp)
      Next
	  
	  CommonRegExp.Pattern = "\{\$GetProductList\(([ 0-9]+|[ ]*ChannelID[ ]*),([ 0-9\|]+|[ ]*ClassID[ ]*),([ 0-9]+),([ 0-9]+),[ ]*(True|False)[ ]*,([ 0-9]+),[ ]*(True|False)[ ]*,[ ]*(True|False)[ ]*,[ ]*(True|False)[ ]*,([ 0-9]+),([ 0-9]+),([ 0-9]+),([ 0-9]+),([ 0-9]+),[ ]*(True|False)[ ]*,[ ]*(True|False)[ ]*,[ \w\""]*,[ \w\""]*,[ \w\""]*\)\}"        
	  Set Matches = CommonRegExp.Execute(ReturnString)
	  For Each Match in Matches
		 Parameters = EL_Common.GetLabelParameters(Match.Value, "GetProductList")
		 Temp = ProductList(Parameters(0), Parameters(1), Parameters(2), Parameters(3), Parameters(4), Parameters(5), Parameters(6), Parameters(7), Parameters(8), Parameters(9), Parameters(10), Parameters(11), Parameters(12), Parameters(13), Parameters(14), Parameters(15), Parameters(17), Parameters(17), Parameters(18))
		 ReturnString = Replace(ReturnString, Match.Value, Temp)
      Next
	  Set Matches = Nothing
	  
	  Label_GetProductList = ReturnString
   End Function
   
   Private Function ProductList(ByVal iChannelID, ByVal arrClassID, ByVal ProductNum, ByVal TitleLen, ByVal ShowPrice, ByVal ShowBookButton, ByVal ShowDays, ByVal ShowClassName, ByVal IsCommend, ByVal OrderType, ByVal OpenType, ByVal ColNum, ByVal ListType, ByVal ShowIcon, ByVal ShowHint, ByVal ShowPage, ByVal ClassA, ByVal Class1, ByVal Class2)
      Dim ProductCmd, rsProduct, i, ReturnString
	  Dim PageSizes, RowCount, TotalRowCount, PageCounts
	  Dim SQLTables, SQLFields, SQLCondition, SQLOrder, SQL
	  Dim ChannelCmd, rsChannel, ChannelDir, ChannelModule, ItemName, ItemUnit, Disabled
	  
	  iChannelID = Eval(iChannelID)
	  If Instr(ArrClassID, "|")<1 Then
	     ArrClassID = Eval(ArrClassID)	
	  End If
	  ArrClassID = CStr(ArrClassID)
	  
	  If iChannelID <> ChannelID Then
	     Call EL_Common.InitCommonCmd(ChannelCmd, rsChannel, "EL_Channel", "ChannelDir,ChannelModule,ShowPageSize,ItemName,ItemUnit,Disabled", "ChannelID="& iChannelID &" AND ChannelType=0")
	     rsChannel.Close()
	     If ChannelCmd(0) <> 1 Then
	        Set rsChannel = Nothing
		    Set ChannelCmd = Nothing
		    ProductList = EL_Common.Lang("BaseConfig.ChannelError", "·频道参数错误")
		    Exit Function
	     Else
	        rsChannel.Open()
		    ChannelDir = rsChannel(0)
		    ChannelModule = rsChannel(1)
		    PageSizes = rsChannel(2)
		    ItemName = rsChannel(3)
		    ItemUnit = rsChannel(4)
		    Disabled = rsChannel(5)
		    rsChannel.Close()		    
	     End If
	     Set rsChannel = Nothing
	     Set ChannelCmd = Nothing	     
	  Else
	     ChannelDir = EL_Channel.ChannelDir
		 ChannelModule = EL_Channel.ChannelModule
		 PageSizes = EL_Channel.ShowPageSize
		 ItemName = EL_Channel.ItemName
		 ItemUnit = EL_Channel.ItemUnit
		 Disabled = EL_Channel.Disabled
	  End If
	  
	  If ChannelModule <> 3 Then
	     ProductList = EL_Common.Lang("BaseConfig.ChannelModuleError", "·频道模块错误")
		 Exit Function
	  End If
	  
	  If Disabled Then
	     ProductList = EL_Common.Lang("BaseConfig.Disabled", "·该频道已被禁用")
		 Exit Function
	  End If	  
	  
	  ProductNum = EL_Common.ELClng(ProductNum)
	  TitleLen = EL_Common.ELClng(TitleLen)
	  ShowPrice = Eval(ShowPrice)
	  ShowBookButton = EL_Common.ELClng(ShowBookButton)
	  ShowDays = Eval(ShowDays)
	  ShowClassName = Eval(ShowClassName)
	  IsCommend = Eval(IsCommend)	  
	  OrderType = EL_Common.ELClng(OrderType)
	  OpenType = EL_Common.ELClng(OpenType)
	  ColNum = EL_Common.ELClng(ColNum)
	  ListType = EL_Common.ELClng(ListType)
	  ShowIcon = EL_Common.ELClng(ShowIcon)
	  ShowHint = Eval(ShowHint)	  
	  ShowPage = Eval(ShowPage)	 	  
	  
	  SQLTables = "EL_Product,EL_Class"
	  SQLFields = "EL_Product.ProductID,EL_Product.ProductName,EL_Product.Days"
	  SQLFields = SQLFields &",EL_Product.LeastPerson,EL_Product.Price"	
	  If ShowClassName Then SQLFields = SQLFields &",EL_Class.ClassID,EL_Class.ClassName"	
	  SQLOrder = "EL_Product.OnTop DESC"	   
	  Select Case OrderType
	    Case 1: SQLOrder = SQLOrder &",EL_Product.ProductID ASC"
		Case 2: SQLOrder = SQLOrder &",EL_Product.ProductID DESC"
		Case 3: SQLOrder = SQLOrder &",EL_Product.UpdateTime ASC"
		Case 4: SQLOrder = SQLOrder &",EL_Product.UpdateTime DESC"
		Case 5: SQLOrder = SQLOrder &",EL_Product.Hits ASC"
		Case 6: SQLOrder = SQLOrder &",EL_Product.Hits DESC"
		Case Else:  SQLOrder = SQLOrder &",EL_Product.ProductID DESC"
	  End Select	  
	    
	  SQLCondition = " EL_Product.ChannelID="& ChannelID &" And EL_Product.ClassID=EL_Class.ClassID And EL_Product.Passed="& EL_True &" And EL_Product.Deleted="& EL_False &" " 
	  If ArrClassID = "" Or ArrClassID = "0" Or Replace(ArrClassID, "|", "") = "" Then
	     'SQLCondition = SQLCondition &""
	  Else
		 If ShowClassType = 1 Then
		    ArrClassID = ArrClassID			
		 Else
		    ArrClassID = EL_Common.GetAllClassID(ArrClassID)
		 End If 
		 SQLCondition = SQLCondition &"AND EL_Product.ClassID In("& ArrClassID &") "
	  End If
	  If IsCommend Then SQLCondition = SQLCondition &" AND EL_Product.Commended="& EL_True &" "
	  ReturnString = ""
	  
	  If EL_Flag = False Then ShowPage = False '防止在特殊标签中设ShowPage=True	  
	  
	  If ShowPage Then
	     Call EL_Common.InitCommand(ProductCmd, "EL_SP_SplitPage")
		 With ProductCmd
		    .Parameters.Append .CreateParameter("RETURN", 3, 4, 4)
		    .Parameters.Append .CreateParameter("@Tables", 200, 1, 100, SQLTables)
		    .Parameters.Append .CreateParameter("@PrimaryKey", 200, 1, 20, "EL_Product.ProductID")
		    .Parameters.Append .CreateParameter("@Sort", 200, 1, 200, SQLOrder)
		    .Parameters.Append .CreateParameter("@CurrentPage", 3, 1, 4, CurrentPage)
		    .Parameters.Append .CreateParameter("@PageSize", 3, 1, 4, PageSizes)
		    .Parameters.Append .CreateParameter("@Fields", 200, 1, 1000, SQLFields)
		    .Parameters.Append .CreateParameter("@Filter", 200, 1, 1000, SQLCondition)
		    .Parameters.Append .CreateParameter("@Group", 200, 1, 1, "")
		    .Parameters.Append .CreateParameter("@TotalRowCount", 3, 2, 4)
		    .Parameters.Append .CreateParameter("@PageCount", 3, 2, 4)
		    Set rsProduct = .Execute()
		 End With
		 rsProduct.Close()
		 RowCount = ProductCmd(0)
		 TotalRowCount = ProductCmd(9)
		 PageCounts = ProductCmd(10)
	  Else
	     If ProductNum < 1 Then ProductNum = EL_Common.Lang("Product.TopNum", 5)
		 Call EL_Common.InitCommonCmd(ProductCmd, rsProduct, SQLTables, " TOP "& ProductNum &" "& SQLFields, SQLCondition &" ORDER BY "& SQLOrder)
		 rsProduct.Close()
		 RowCount = ProductCmd(0)
	  End If
		 If RowCount = 0 Then
		    Set rsProduct = Nothing
			Set ProductCmd = Nothing
			ProductList = EL_Common.RegExpStaticLabel(EL_Common.Lang("BaseConfig.NoList", "·没有任何{$ItemName}"), "{$ItemName}", ItemName)
			Exit Function
		 Else
		   Dim Title_Name, Title_Days, Title_BookPrice, PriceIcon, PriceUnit, DayName, ArrClass(2), vBookPrice
			If ShowHint = True Then
			   Title_Name = EL_Common.RegExpStaticLabel(EL_Common.Lang("Product.Name", "{$ItemName}名称"), "{$ItemName}", ItemName)
			   Title_Days = EL_Common.Lang("Product.Days", "天&nbsp;&nbsp;&nbsp;&nbsp;数")
			   Title_BookPrice = EL_Common.Lang("BaseConfig.BookPrice", "预订价")
			End If
			DayName = EL_Common.Lang("Product.DayName", "天")
			PriceUnit = EL_Common.Lang("Product.PriceUnit", "元/人")
			PriceIcon = EL_Common.Lang("BaseConfig.PriceIcon", "&#xFFE5;")
			rsProduct.Open()	
			Select Case ListType
			   Case 2:    ReturnString = "<div class='list'>"
			   Case 3:    ReturnString = "<ul class='list'>"
			   Case 4:    ReturnString = "<ol class='list'>"
			   Case Else: ReturnString = "<table width='100%' border='0' cellspacing='0' cellpadding='0' class='list'><tr>"
			End Select			
			If ClassA = "" Then ClassA = "lista"
			If Class1 = "" Then Class1 = "list1"
			If Class2 = "" Then Class2 = "list2"
			ArrClass(1) = Class1
			ArrClass(2) = Class2
			For i = 1 To RowCount
			   vBookPrice = rsProduct("Price")
			   Select Case ListType
			      Case 2:
				      ReturnString = ReturnString &"<div class='"& ArrClass(2-((i+2) Mod 2)) &"'>"
				      ReturnString = ReturnString &"<span class='listn'>"
					  If ShowIcon > 0 Then ReturnString = ReturnString &"<img border='0' src='"& InstallDir & ChannelDir &"/Images/icon"& ShowIcon &".gif' />&nbsp;"
				      If ShowClassName = True Then ReturnString = ReturnString &"[<a href='"& InstallDir & ChannelDir &"/ShowClass.asp?ClassID="& rsProduct("ClassID") &"' class='"& ClassA &"'>"& EL_Common.ServerHTMLEncode(rsHotel("ClassName")) &"</a>]"
				      ReturnString = ReturnString &"<a href='"& InstallDir & ChannelDir &"/ShowProduct.asp?ProductID="& rsProduct("ProductID") &"' class='"& ClassA &"' "
					  If ShowHint = True Then
					     ReturnString = ReturnString &"title='"& Title_Name &":"& EL_Common.HTMLEncode(rsProduct("ProductName")) & VBCRLF & Title_Days &":"& rsProduct(2)
						 If ShowPrice = True Then 
						    ReturnString = ReturnString & VBCRLF & Title_BookPrice &":"& PriceIcon & vBookPrice & PriceUnit &"' "
						 Else
						    ReturnString = ReturnString &"' "
						 End If
					  End If
					  ReturnString = ReturnString & EL_Common.ArrOpenType(OpenType) &">"& EL_Common.HTMLEncode(EL_Common.GetTopic(rsProduct("ProductName"), TitleLen)) 
					  If ShowDays = True Then ReturnString = ReturnString &"("& rsProduct("Days") & DayName &")"
					  ReturnString = ReturnString &"</a></span>"
					  If ShowPrice = True Then ReturnString = ReturnString &"<span class='listbp'>"& PriceIcon & vBookPrice & PriceUnit &"</span>"
					  If ShowBookButton > 0 Then ReturnString = ReturnString &"<span class='listbt'><a href='"& InstallDir & ChannelDir &"/ShowProduct.asp?ProductID="& rsProduct("ProductID") &"' class='"& ClassA &"'><img src='"& InstallDir & ChannelDir &"/Images/bookbutton"& ShowBookButton &".gif' border='0'></a></span>"
					  ReturnString = ReturnString &"</div>"
					  				   
				  Case 3, 4:
				      ReturnString = ReturnString &"<li class='"& ArrClass(2-((i+2) Mod 2)) &"'>"
				      ReturnString = ReturnString &"<span class='listn'>"
					  If ShowIcon > 0 Then ReturnString = ReturnString &"<img border='0' src='"& InstallDir & ChannelDir &"/Images/icon"& ShowIcon &".gif' />&nbsp;"
				      If ShowClassName = True Then ReturnString = ReturnString &"[<a href='"& InstallDir & ChannelDir &"/ShowClass.asp?ClassID="& rsProduct("ClassID") &"' class='"& ClassA &"'>"& EL_Common.ServerHTMLEncode(rsHotel("ClassName")) &"</a>]"
				      ReturnString = ReturnString &"<a href='"& InstallDir & ChannelDir &"/ShowProduct.asp?ProductID="& rsProduct("ProductID") &"' class='"& ClassA &"' "
					  If ShowHint = True Then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -