private void IsChecked(PageSimpleExXmlElement pageEle) { if (pageEle.IsDeleted != true) { switch (pageEle.PageType) { case PageType.Hr: this.conHr.Checked = true; break; case PageType.Knowledge: this.conKnowledge.Checked = true; break; case PageType.Product: this.conProduct.Checked = true; break; case PageType.Project: this.conProject.Checked = true; break; case PageType.General: this.conGeneral.Checked = true; break; case PageType.InviteBidding: this.conInviteBidding.Checked = true; break; } } }
/// <summary> /// 生成正文页面片内容 /// </summary> static public string GetContentPageContent(string contentId) { try { PageSimpleExXmlElement pageEle = ToHtmlSdsiteService.SdsiteXmlDocument.GetPageElementById(contentId); TmpltXmlDocument tmpltDoc = ToHtmlSdsiteService.SdsiteXmlDocument.GetTmpltDocumentById(pageEle.TmpltId); SnipXmlElement snipEle = tmpltDoc.GetContentSnipEle(); string contentHtml = null; if (snipEle != null) { // lukan, 2008-6-23 10:38:45, 重构 //contentHtml = snipEle.ToRealContentHtml(contentId); //if (snipEle.IsHaveContent == false && tmpltDoc.TmpltType == TmpltType.General) //{ // contentHtml += "<span>您在正文页面片中还没有添加正文,正文部分将无法显示</span>"; //} //if (!string.IsNullOrEmpty(snipEle.ToRealCss())) //{ // ActiveTmpltAndSnip.AddSnipElementIntoDictionary(snipEle); //} } else { return("您还没有添加正文页面片!"); } return(contentHtml); } catch (Exception e) { ExceptionService.CreateException(e); return(string.Empty); } }
private void OKBtn_Click(object sender, EventArgs e) { if ((m_tree.CurrentNode is DataNode) && ((DataNode)m_tree.CurrentNode).NodeType == TreeNodeType.Tmplt) { this.TmpltId = ((TmpltNode)m_tree.CurrentNode).Element.Id; //如果传入的父元素为空,则父频道为网站根节点 if (_parentEle == null) { _parentEle = ((ElementNode)m_tree.SelectTreeRootChanNode).Element as FolderXmlElement; PageType = (PageType)((int)((TmpltNode)m_tree.CurrentNode).Element.TmpltType); } ///检查是否有重名 //if (File.Exists(Path.Combine(_parentEle.AbsoluteFilePath, NameTextBox.Text + Utility.Const.PageFileExt))) //{ // MessageService.Show("此文件已存在,请重新命名。"); // NameTextBox.SelectAll(); // NameTextBox.Focus(); // return; //} SdsiteXmlDocument doc = Service.Sdsite.CurrentDocument; PageSimpleExXmlElement pageEle = doc.CreatePage(_parentEle.Id, PageType, NameTextBox.Text, TmpltId); this.NewPageId = pageEle.Id; this.DialogResult = DialogResult.OK; Close(); } else { MessageService.Show("请选择模板!"); } }
private void OKBtn_Click(object sender, EventArgs e) { SdsiteXmlDocument doc = Service.Sdsite.CurrentDocument; ///不创建模板 if (!newTmpltCheckBox.Checked) { if ((m_tree.CurrentNode is DataNode) && ((DataNode)m_tree.CurrentNode).NodeType == TreeNodeType.Tmplt) { if (_parentEle == null)//如果传入的父元素为空,则父频道为网站根节点 { _parentEle = ((ElementNode)m_tree.SelectTreeRootChanNode).Element as FolderXmlElement; } PageSimpleExXmlElement pageEle = doc.CreatePage(_parentEle, PageType.Home, NameTextBox.Text, ((TmpltNode)m_tree.CurrentNode).Element.Id); NewPageId = pageEle.Id; } else { MessageService.Show("请选择模板!"); return; } } ///创建页面同时创建模板 else { KeyValuePair <string, string> keyvalue = doc.CreateHome(_parentEle, NameTextBox.Text); NewPageId = keyvalue.Value; } this.DialogResult = DialogResult.OK; Close(); }
/// <summary> /// /// </summary> public static string GetKeywordListSnip(string tmpltId, string pageId) { PageSimpleExXmlElement pageEle = ToHtmlSdsiteService.SdsiteXmlDocument.GetPageElementById(pageId); TmpltXmlDocument tmpltDoc = ToHtmlSdsiteService.SdsiteXmlDocument.GetTmpltDocumentById(tmpltId); SnipXmlElement snipXmlEle = tmpltDoc.GetKeyListSnip(); return("");// snipXmlEle.ToKeywordHtml(pageEle); }
public static string GetIndexPath(string channleGuid) { FolderXmlElement channleEle = ToHtmlSdsiteService.SdsiteXmlDocument.GetFolderElementById(channleGuid); PageSimpleExXmlElement pageEle = ToHtmlSdsiteService.SdsiteXmlDocument.GetPageElementById(channleEle.DefaultPageId); if (pageEle != null) { return(pageEle.OwnerFolderElement.RelativeUrl + pageEle.FileName + Utility.Const.ShtmlFileExt); } return(string.Empty); }
void titleToolStripTextBox_Validated(object sender, EventArgs e) { SdsiteXmlDocument doc = Service.Sdsite.CurrentDocument; PageSimpleExXmlElement ele = doc.GetPageElementById(_htmlDesigner.PageId); ele.Title = titleToolStripTextBox.Text; doc.Save(); PageXmlDocument pageDoc = doc.GetPageDocumentById(_htmlDesigner.PageId); pageDoc.Title = titleToolStripTextBox.Text; pageDoc.Save(); }
/// <summary> /// 通过pageID获取shtml文件的那句话 /// </summary> static public string GetPageContent(string pageId) { try { PageSimpleExXmlElement pageEle = ToHtmlSdsiteService.SdsiteXmlDocument.GetPageElementById(pageId); return("");// pageEle.ToHtml(); } catch (Exception e) { ExceptionService.CreateException(e); return(string.Empty); } }
protected override void OnLoad(EventArgs e) { Debug.Assert(!string.IsNullOrEmpty(_homeId)); _elePageSimple = Service.Sdsite.CurrentDocument.GetPageElementById(_homeId); if (_elePageSimple == null || !File.Exists(_elePageSimple.AbsoluteFilePath)) { MessageService.Show("文件不存在,打开失败!", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); return; } this.Text = _elePageSimple.Title; base.OnLoad(e); }
/// <summary> /// 将窗体值转入xml文件中 /// </summary> public void WritePageTextProp(PageTextPropertyItem property, string PageId) { PageXmlDocument doc = Service.Sdsite.CurrentDocument.GetPageDocumentById(PageId) as PageXmlDocument; PageSimpleExXmlElement ele = Service.Sdsite.CurrentDocument.GetPageElementById(PageId) as PageSimpleExXmlElement; ele.IsModified = true; doc.Title = property.Title; doc.PageTitleAlias = property.TitleAlias; doc.PageCreateTime = property.DeliverTime; doc.PageSummary = property.Summary; doc.Author = property.AuthorAlias; doc.AuthorAlias = property.AuthorAlias; doc.ModifyAlias = property.ModifyBy; doc.DesignSummary = property.DesignSummary; doc.PageKeywords = property.tag.ToArray(); doc.ContentSource = property.ContentSource; // doc.DocumentElement.Attributes["content_source"].Value = property.ContentSource; //doc.DocumentElement.Attributes["is_always_pub"].Value = property.IsAlwaysPub.ToString(); //doc.DocumentElement.Attributes["stop_time"].Value = property.EndPubTime; doc.Save(); Service.Sdsite.CurrentDocument.Save(); ///写入文章摘要 /* * * doc.DocumentElement.Attributes["content_source"].Value = property.ContentSource; * doc.DocumentElement.Attributes["is_always_pub"].Value = property.IsAlwaysPub.ToString(); * * doc.DocumentElement.Attributes["stop_time"].Value = property.EndPubTime; * * * XmlNode tagNode = ContentDoc.SelectSingleNode("/content/tags"); * WriteXmlTag(property.tag, tagNode); * * if (text != "") * { * ///重新存储 * XmlNode textNode = ContentDoc.SelectSingleNode("/content/article_text"); * textNode.RemoveAll(); * XmlCDataSection xmlData = ContentDoc.CreateCDataSection(text); * textNode.AppendChild(xmlData); * }*/ }
private void InitListViewSubFile(XmlNodeList xmlNode, ListViewEx listView, string FlterType) { //加载子文件 foreach (XmlNode node in xmlNode) { if (node is FileSimpleExXmlElement) { FileSimpleExXmlElement fileEle = (FileSimpleExXmlElement)node; string exfile = Path.GetExtension(fileEle.AbsoluteFilePath).ToLower(); if (FlterType != _strAll && !FlterType.Contains(exfile)) { continue; } MyListFileItem myFileItem = new MyListFileItem(fileEle); if (fileEle.IsDeleted) { continue; } myFileItem.ItemMediaType = GetListItemType(exfile); myFileItem.Element = fileEle; myFileItem.Text = fileEle.Title; listView.Items.Add(myFileItem); } else if (node is PageSimpleExXmlElement) { PageSimpleExXmlElement fileEle = (PageSimpleExXmlElement)node; if (FlterType != _strAll && fileEle.PageType.ToString() != FlterType) { continue; } MyListFileItem myFileItem = new MyListFileItem(fileEle); if (fileEle.IsDeleted) { continue; } myFileItem.Element = fileEle; myFileItem.Text = fileEle.Title; listView.Items.Add(myFileItem); } } }
private void CreatTreeNode(AnyXmlElement channelEle, TreeNode treeNode) { foreach (AnyXmlElement simEle in channelEle.ChildNodes) { if (simEle.NodeType != XmlNodeType.Element) { break; } TreeNode subTreeNode = null; if (simEle.Name == "channel") //一定要是频道 { PageSimpleExXmlElement currEle = (PageSimpleExXmlElement)simEle; // ChannelSimpleExXmlElement currEle = (ChannelSimpleExXmlElement)simEle; if (currEle.IsDeleted) { break; } subTreeNode = new TreeNode(); int m = (int)currEle.PageType; // int m = (int)currEle.ChannelType; int n = (int)this._pageType; bool typeBool = (m == n); if (!typeBool) { subTreeNode.ForeColor = System.Drawing.Color.Silver; subTreeNode.Tag = false; } subTreeNode.Name = currEle.Id; subTreeNode.Text = currEle.Title; subTreeNode.Tag = true; if (currEle.HasChildNodes) { CreatTreeNode(currEle, subTreeNode);//递归 } } if (subTreeNode != null) { treeNode.Nodes.Add(subTreeNode); } } }
protected override void OnLoad(EventArgs e) { Debug.Assert(!string.IsNullOrEmpty(_pageId)); PageSimpleExXmlElement ele = Service.Sdsite.CurrentDocument.GetPageElementById(_pageId); if (ele == null || !File.Exists(ele.AbsoluteFilePath)) { MessageService.Show("文件不存在,打开失败!", MessageBoxButtons.OK, MessageBoxIcon.Error); Timer timer = new Timer(); timer.Interval = 10; timer.Tick += delegate { timer.Stop(); timer.Dispose(); this.Close(); }; timer.Start(); return; } this._pageDoc = ele.GetIndexXmlDocument(); // this._pageEle = (PageElement)this._pageDoc.GetElementById(pageId); /wangmiao this.Text = ele.Title;//w Service.Sdsite.CurrentDocument.ElementTitleChanged += new EventHandler <ChangeTitleEventArgs>(CurrentDocument_ElementTitleChanged); //控件设置 _htmldesign = new HTMLDesignerEx(PageId); //_htmldesign.PageId = _pageId; //this.Controls.Add(_htmldesign.GetMainToolStrip()); //this.Controls.Add(_htmldesign.GetHtmlPanel()); this.Controls.Add(_htmldesign); string fileName = Service.Sdsite.CurrentDocument.GetPageElementById(_pageId).Title; //w this._htmldesign.PageTitle = fileName; //w //this._htmldesign.SetHtmlPanel().BringToFront(); this._designWebB = this._htmldesign.DesignWebBrowser; //IDoc2 = _htmldesign.Idoc2; base.OnLoad(e); }
/// <summary> /// 内容页面资料处理 /// </summary> /// <param name="filePath">文件路径, string pageText</param> /// <param name="fileContent">文件的正文</param> public PagePropertyPanel(string pageId) { InitializeComponent(); _pageID = pageId; PageSimpleExXmlElement pageEle = (PageSimpleExXmlElement)Service.Sdsite.CurrentDocument.GetElementById(pageId); string filePath = pageEle.AbsoluteFilePath; PageXmlDocument pageDoc = Service.Sdsite.CurrentDocument.GetPageDocumentById(pageId); if (pageDoc == null) { ///读取文章正文] mgr = new PagePropertyHelper(pageId); _pageText = mgr.ReadPageText(); } else { mgr = new PagePropertyHelper(pageId); _pageText = pageDoc.PageText; } }
private void OkMethod() { if (this._tree.SelectedNode == null) { this.DialogResult = DialogResult.Cancel; } else { PageSimpleExXmlElement ele = Service.Sdsite.CurrentDocument.GetPageElementById(this._tree.SelectedNode.Name); //ChannelSimpleExXmlElement ele = // Service.Sdsite.CurrentDocument.GetChannelElementById(this._tree.SelectedNode.Name); //int m = (int)ele.ChannelType; int m = (int)ele.PageType; int n = (int)this._pageType; bool typeBool = (m == n); if (!typeBool) { DialogResult result; result = MessageBox.Show( this, "choseChannel", //this.GetTextResource("choseChannel"), "NotChoseChannel", //this.GetTextResource("NotChoseChannel"), MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation); if (result == DialogResult.Cancel) { this.DialogResult = DialogResult.Cancel; } } else { this.DialogResult = DialogResult.OK; this._channelId = this._tree.SelectedNode.Name; this.Close(); } } }
/// <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还是要重新生成 } } }
public PageNode(PageSimpleExXmlElement element) : base(element) { }
public virtual int AddChildNode(int index, BaseTreeNode node) { int result = index; ///先添加到节点中 if (index == -1) { result = this.Nodes.Add(node); } else { this.Nodes.Insert(index, node); } ///设置图标 node.SelectedImageKey = node.ImageKey = node.FactImageKey; ///初始化节点状态 TreeView.InitNode(node); ///检查文件是否正常 if (node is ElementNode) { ElementNode elementNode = (ElementNode)node; ///添加到TreeNode的dic容器里去 if (TreeView.TreeMode == TreeMode.General && elementNode.NodeType != TreeNodeType.Link) { TreeView.SetElementNode(elementNode); } ///检查文件是否存在:不存在,则在图标上画一个感叹号 if (!Utility.File.Exists(elementNode.Element.AbsoluteFilePath)) { string signKey = Service.Draw.GetSignKey(node.FactImageKey, SignType.ExcalmatoryPoint); if (!this.TreeView.ImageList.Images.ContainsKey(signKey)) { ///若是资源文件节点,则先确定图标已经存在 if (elementNode is ResourceFileNode) { ResourceFileNode fileNode = (ResourceFileNode)elementNode; fileNode.InsureIcon(); } ///画标记 Image signImage = this.TreeView.ImageList.Images[node.FactImageKey]; Service.Draw.DrawSign(signImage, SignType.ExcalmatoryPoint); this.TreeView.ImageList.Images.Add(signKey, signImage); } node.SelectedImageKey = node.ImageKey = signKey; if (elementNode.IsFolder) { node.ToolTipText = "此文件夹不存在!"; } else { node.ToolTipText = "此文件不存在!"; } } else { bool isHealthy = true; switch (elementNode.Element.DataType) { ///检查非首页型模板是否有正文型页面片 case DataType.Tmplt: { TmpltSimpleExXmlElement tmpltEle = elementNode.Element as TmpltSimpleExXmlElement; if (tmpltEle.TmpltType != TmpltType.Home && !tmpltEle.HasContentSnip) { isHealthy = false; elementNode.ToolTipText = "此模板没有正文型页面片。属于不完整模板。\r\n请为此模板创建正文型页面片,否则关联到它的页面无法正常生成。"; } break; } ///检查页面是否正确关联了模板 case DataType.Page: { PageSimpleExXmlElement pageEle = elementNode.Element as PageSimpleExXmlElement; if (string.IsNullOrEmpty(pageEle.TmpltId)) { isHealthy = false; elementNode.ToolTipText = "此页面没有设置关联模板,属于不完整页面。\r\n请重新选择关联模板,否则将无法生成最终页面。"; } else { TmpltSimpleExXmlElement tmpltEle = Service.Sdsite.CurrentDocument.GetTmpltElementById(pageEle.TmpltId); if (tmpltEle == null || !File.Exists(tmpltEle.AbsoluteFilePath)) { isHealthy = false; elementNode.ToolTipText = "此页面关联的模板未能找到,属于不完整页面。\r\n请重新选择关联模板,否则无法生成最终页面。"; } else { isHealthy = true; //ElementNode tmpltNode = TreeView.GetElementNode(tmpltEle.Id); //if (tmpltNode != null) //{ // elementNode.ToolTipText = "此页面完整,关联的模板是:" + tmpltNode.FullPath + "。\r\n可生成最终页面。"; //} } } break; } } ///不健康节点,在图标上添加标记 if (!isHealthy) { string signKey = Service.Draw.GetSignKey(node.FactImageKey, SignType.QuestionPoint); if (!this.TreeView.ImageList.Images.ContainsKey(signKey)) { Image signImage = this.TreeView.ImageList.Images[node.FactImageKey]; Service.Draw.DrawSign(signImage, SignType.QuestionPoint); this.TreeView.ImageList.Images.Add(signKey, signImage); } node.SelectedImageKey = node.ImageKey = signKey; } } } return(result); }