public BuildSite() { ToHtmlHelper siteHelper = new ToHtmlHelper("", @"D:\_abc\myabc"); TmpltXmlDocument tmpltDoc = null; tmpltDoc.SaveXhtml(siteHelper); tmpltDoc.DeleteXhtml(siteHelper); PageXmlDocument pageDoc = null; pageDoc.SaveXhtml(siteHelper); pageDoc.DeleteXhtml(siteHelper); foreach (var item in tmpltDoc.GetSnipElementList()) { SnipXmlElement snip = (SnipXmlElement)item; snip.SaveXhtml(siteHelper); snip.DeleteXhtml(siteHelper); } }
/// <summary> /// 生成页面文件 /// </summary> /// <param name="simpleEle"></param> public void BuildPageFile(SimpleExIndexXmlElement simpleEle) { //添加模板到Dictionary字典中 AddElementToDictionary(simpleEle); PageSimpleExXmlElement pageEle = (PageSimpleExXmlElement)simpleEle; string pageId = pageEle.Id; string channelId = pageEle.OwnerChannelElement.Id; //页面直属频道的Id PageXmlDocument pageDoc = SdsiteDocument.GetPageDocumentById(pageId); if (pageEle.IsDeletedRecursive) { //如果 是索引页面,删除本身的文件 filename.sdpage index.sdpage,其它页面则还要删除 //及一系列的关于页面的文件filename_head.inc filename_content.inc filename_list.inc pageDoc.DeleteXhtml(ToHtmlHelperObj); //此时就要看与此文件关联的其它文件 if (AsTmpltList(channelId)) { NewMethod(channelId); } //文件删除,则其它链接到此文件文件不做处理 } else if (!pageEle.IsAlreadyPublished) //新建 { //如果 是索引页面,新建本身的文件 filename.sdpage 及index.shtml //,其它类型页面则要新建一系列的关于页面的文件filename_head.inc filename_content.inc //todo:... //此时,就要查看与此关联的文件,是如何 if (AsTmpltList(channelId)) { //生成filename_list.inc文件 NewMethod(channelId); //此处不用考虑其路径问题 } } else { //文件路径是否改变(与重命名有密切关系) if (pageEle.IsChangedPosition) { //先将文件移动到新的位置 } if (pageEle.IsModified) { //页面本身的一些文件重新生成 //关联页面 NewMethod(channelId); //路径关联的一些页面的重新生成 //如果发生CustomID的变化,找到链接到此文件的所有页面,然后重新生成 } else { //如果是模板的内容布局有所在改变,则content还是要重新生成 } } }