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);
            }
        }
예제 #2
0
        /// <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还是要重新生成
                }
            }
        }