风讯生成静态文件研究调查(测试中)

本文详细介绍了风讯CMS 4.0免费版中静态文件的生成过程,包括从管理后台的操作步骤到具体实现的源代码分析。通过点击发布新闻主页并执行特定JS函数开始,进而深入探讨了涉及的不同ASP文件及函数,最终展示了如何将动态内容转换为静态网页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想看一下风讯究竟怎样生成静态文件的, 查了一下源代码,我用的是风讯4.0免费版,

1.点击上面的“发布管理”,转到链接地址http://localhost/foosun/admin/Sys_Public.asp?Type=NS,然后点击“新闻”-》:“发布新闻主页”-》“开始发布”,然后执行了JS函数“function Submit_Data_To_Refresh(Sys,Table,Type,FormObj)”,将页面提交到“PublicSite/Public_Refresh.asp?"+Action,Action=NS$$index$

2.在PublicSite/Public_Refresh.asp文件中,转到函数Refresh_index(p_Sys_ID) 其中p_Sys_ID='NS',然后继续转到函数代码

Set p_INDEX_DIC_OBJ = Replace_All_Flag(p_File_Content,"",Sys_flag) 
 p_File_Content = p_INDEX_DIC_OBJ.Item("-3")

3.在PublicSite/Public_function.asp文件中,找到Function Replace_All_Flag(f_File_Cont,f_NewsID,PageType)函数,先是将标签名称转成标签内容,f_Match_Str=Get_Label_Content(f_Match_Str),随后生成相关的类,比如我这里查看的是新闻类(约290行)Case "NS"      Set f_RERESH_OBJ = New cls_NS;然后执行约314行的标签替换功能f_Lable_Cont = f_RERESH_OBJ.get_LableChar(f_Lable_Para_Value,f_NewsID);即ns_public.asp约39行的Public Function get_LableChar(f_Lablechar,f_Id)

4.在ns_public.asp的get_LableChar(f_Lablechar,f_Id)函数中,转到classNews函数(get_LableChar=ClassNews(f_Lablechar,"marnews",f_Id),在classNews函数中,生成SQL语句,在576行左右等到记录集set f_rs_obj = Conn.execute(f_sql);随后转到616行左右的记录集替换标签的函数getlist_news;

在getlist_news函数中,可以看到它是直接将标签替换成列值的,其中f_obj为新闻记录集

if instr(s_Content,"{NS:FS_NewsID}")>0 then
      s_Content = replace(s_Content,"{NS:FS_NewsID}",f_obj("NewsId"))
     end if

 可以预料风讯的程序员真幸苦呀^-^

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值