/// <summary> /// 根据GUID获得文章详细信息 /// </summary> /// <param name="guid">GUID</param> /// <param name="language">语言,主要生成URL用</param> /// <returns></returns> public static ArticleInfo GetByGUID(string guid, WebLanguage language = WebLanguage.zh_cn) { var model = ArticleManage.GetByGUID(guid); LoadExtensionInfo(model, language); return(model); }
/// <summary> /// 根据文章URl,获得文章详细信息 /// </summary> /// <param name="url"></param> /// <returns></returns> public static ArticleInfo GetByUrl(string url, WebLanguage language = WebLanguage.zh_cn) { var model = ArticleManage.GetByUrl(url); LoadExtensionInfo(model, language); return(model); }
/// <summary> /// 根据文章ID,获得文章详细信息 /// </summary> /// <param name="id"></param> /// <returns></returns> public static ArticleInfo Get(int id, WebLanguage language = WebLanguage.zh_cn) { var model = ArticleManage.Get(id); LoadExtensionInfo(model, language); return(model); }
/// <summary> /// 首页 /// </summary> /// <returns></returns> public ActionResult Index() { WebLanguage lang = XFrontContext.Current.Language; string viewName = string.Format("Index_{0}", lang.ToString()); if (lang == WebLanguage.zh_cn) { //显示启用的以及未删除的 ViewBag.ProductService = CategoryService.ListByParentId(4).Where(p => (p.IsEnabled == true && p.IsDeleted == false)).ToList(); ViewBag.CompanyNews = ArticleService.ListWithoutPageV2("新闻中心/公司新闻", 7, lang); ViewBag.IndustryNews = ArticleService.ListWithoutPageV2("新闻中心/行业新闻", 7, lang); ViewBag.FocusImageList = ArticleService.ListWithoutPageV2("首页设置/焦点图片", 4, lang); ViewBag.Business = ArticleService.ListWithoutPageV2("企业业绩", 7, lang); ViewBag.NoticeList = NoticeService.List(); } if (lang == WebLanguage.en) { ViewBag.ProductService = CategoryService.ListByParentId(110).Where(p => (p.IsEnabled == true && p.IsDeleted == false)).ToList(); } return(View(viewName)); }
public ActionResult Show() { /* * 总模板页需要以下变量 * 1,根据Url获得根节点信息,因为左边需要导航信息 * 2,根据Url获得所属类别,因为右边区域有个副导航 */ //Channel格式,必须为/Channel/(\d+).html //优先选择这样的格式 int categoryId = 0; string fileName = Goodspeed.Web.UrlHelper.Current.FileName; WebLanguage lang = XFramework.Site.Home.Models.XFrontContext.Current.Language; string _urlCatName = Regex.Match(fileName, @"(\w+)\.html", RegexOptions.IgnoreCase).Groups[1].Value; if (Regex.IsMatch(_urlCatName, @"\d+")) { //不是别名 categoryId = Controleng.Common.Utils.StrToInt(_urlCatName, 0); } else { //是别名的情况 categoryId = CategoryService.ListByLanguage(lang).FirstOrDefault(p => p.Alias == _urlCatName).Id; } //当前节点 var currentCategoryInfo = CategoryService.Get(categoryId); if (currentCategoryInfo.Id == 0 || currentCategoryInfo.IsDeleted == true) { return(Content("Arguments Error!")); } return(LoadShowView(currentCategoryInfo, lang)); }
/// <summary> /// 判断当前类别下名称是否重复 /// </summary> /// <param name="id"></param> /// <param name="name"></param> /// <param name="parentId"></param> /// <returns></returns> public static bool ExistsName(int id, string name, int parentId, WebLanguage lang) { //id == 0 说明添加,反之,编辑 string strSQL = string.Empty; if (id == 0) { strSQL = "SELECT COUNT(*) FROM Categories WITH(NOLOCK) WHERE ParentId = @ParentId AND Name = @Name AND Language = @Language"; } else { strSQL = "SELECT COUNT(*) FROM Categories WITH(NOLOCK) WHERE ParentId = @ParentId AND Name = @Name AND ID <> @ID AND Language = @Language"; } SqlParameter[] parms = { new SqlParameter("@ID", SqlDbType.Int), new SqlParameter("@Name", SqlDbType.VarChar), new SqlParameter("@ParentID", SqlDbType.Int), new SqlParameter("@Language", SqlDbType.Int) }; parms[0].Value = id; parms[1].Value = name; parms[2].Value = parentId; parms[3].Value = (int)lang; return(Convert.ToInt32(Goodspeed.Library.Data.SQLPlus.ExecuteScalar(CommandType.Text, strSQL, parms)) > 0); }
/// <summary> /// 是否存在别名,别名不允许重复 /// </summary> /// <param name="appId"></param> /// <param name="cid"></param> /// <param name="englishName"></param> /// <returns></returns> public static bool ExistsAlias(int cid, string englishName, WebLanguage lang) { if (string.IsNullOrEmpty(englishName)) { return(false); } return(ArticleCategoryManage.ExistsAlias(cid, englishName, lang)); }
/// <summary> /// 语言名称(目录) /// </summary> private static void Innitcultureinfo() { WebLanguage lType = WebLanguage.None; string sType = ConfigParam.GetAppSetting("encoding", "GB"); if (string.IsNullOrEmpty(sType)) { lType = WebLanguage.GB; } sType = sType.Trim().ToUpper(); try { lType = (WebLanguage)Enum.Parse(typeof(WebLanguage), sType); } catch { } switch (lType) { //case WebLanguage.EN://英 // m_weblanguage = WebLanguage.EN; // m_cultureinfo = new System.Globalization.CultureInfo("en-US"); // ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-US", typeof(Resources_US).Assembly); // break; //case WebLanguage.GER://德 // m_weblanguage = WebLanguage.GER; // m_cultureinfo = new System.Globalization.CultureInfo("de-DE"); // ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-US", typeof(Resources_US).Assembly); // break; //case WebLanguage.FRA://法 // m_weblanguage = WebLanguage.FRA; // m_cultureinfo = new System.Globalization.CultureInfo("fr-FR"); // ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-US", typeof(Resources_US).Assembly); // break; //case WebLanguage.JAN://日 // m_weblanguage = WebLanguage.JAN; // m_cultureinfo = new System.Globalization.CultureInfo("ja-JP"); // ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-US", typeof(Resources_US).Assembly); // break; //case WebLanguage.KOR://朝鲜 // m_weblanguage = WebLanguage.KOR; // m_cultureinfo = new System.Globalization.CultureInfo("ko-KR"); // ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-US", typeof(Resources_US).Assembly); // break; //case WebLanguage.BG://繁体 // m_weblanguage = WebLanguage.BG; // m_cultureinfo = new System.Globalization.CultureInfo("zh-TW"); // ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-zh-TW", typeof(Resources_zh_TW).Assembly); // break; //default: // m_weblanguage = WebLanguage.GB; // m_cultureinfo = new System.Globalization.CultureInfo("zh-Cn"); // ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources", typeof(Resources).Assembly); // break; } ResourceManager.IgnoreCase = true; }
public static IPageOfList <ArticleInfo> List(SearchSetting setting, WebLanguage language = WebLanguage.zh_cn) { var list = ArticleManage.List(setting); foreach (var item in list) { LoadExtensionInfo(item, language); } return(list); }
/// <summary> /// 获得某语言下的全部分类,包含删除的和未启用的 /// </summary> /// <param name="lang"></param> /// <returns></returns> public static IList <CategoryInfo> ListByLanguage(WebLanguage lang) { var list = ArticleCategoryManage.ListByLanguage(lang); foreach (var item in list) { LoadExtionsion(item); } return(list); }
/// <summary> /// 添加扩展信息,主要生成文章URL /// </summary> /// <param name="model"></param> /// <param name="language"></param> private static void LoadExtensionInfo(ArticleInfo model, WebLanguage language = WebLanguage.zh_cn) { if (!string.IsNullOrEmpty(model.LinkUrl)) { model.Url = model.LinkUrl; } else { model.Url = string.Format("{2}/{0}/{1}.html", "n", model.GUID.ToString().ToLower(), language == WebLanguage.zh_cn ? string.Empty : "/" + language.ToString()); } }
public ActionResult RenderHeaderMenu(WebLanguage Language = WebLanguage.zh_cn) { StringBuilder sb = new StringBuilder(); //只显示启用的和未删除的一级分类 var menuList = CategoryService.ListByLanguage(Language).Where(m => (m.ParentId == 0 && m.IsDeleted == false && m.IsEnabled == true)); foreach (var item in menuList) { sb.AppendFormat("<li id=\"{0}\"><a href=\"{2}\" title=\"{1}\">{1}</a></li>", item.Id, item.Name, item.Url); } return(Content(sb.ToString())); }
public static void LoadExtensionInfo(ArticleInfo model, WebLanguage language = WebLanguage.zh_cn) { // if (!string.IsNullOrEmpty(model.LinkUrl)) { model.Url = model.LinkUrl; } else { model.Url = string.Format("{2}/{0}/{1}.html", model.CreateDateTime.ToString("yyyy-MM-dd"), model.Timespan, language == WebLanguage.zh_cn ? string.Empty : "/" + language.ToString()); } }
private ActionResult LoadShowView(CategoryInfo currentCatInfo, WebLanguage lang) { CategoryInfo rootCatInfo = currentCatInfo; //获取当前节点的顶级父节点 //可以是未启用的,因为有的列表就是页面顶部导航不显示,但是左边需要显示 //不显示已删除的 var _rootCatInfo = CategoryService.ListUpById(currentCatInfo.Id, lang).Where(p => p.IsDeleted == false).FirstOrDefault(); if (_rootCatInfo != null) { rootCatInfo = _rootCatInfo; } //是否显示子分类的首节点 //如果是,当前节点更改为子节点 //只显示启用的以及未删除的 if (currentCatInfo.IsShowFirstChildNode) { var firstChildNode = CategoryService.ListByParentId(currentCatInfo.Id).Where(p => (p.IsDeleted == false && p.IsEnabled == true)).FirstOrDefault(); if (firstChildNode != null) { currentCatInfo = firstChildNode; } } //如果根节点是未启用状态并且还不是显示第一个子分类 //说明这个根节点对外是不可访问的 //如果是显示第一个子节点 //说明对外根分类是不对外,但是子节点对外,可以在导航上不出现根分类,但是可以访问这个跟分类中的子分类 if (currentCatInfo.ParentId == 0 && currentCatInfo.IsEnabled == false) { // return(Content("Arguments Error!")); } //模板类型 switch (currentCatInfo.TemplateType) { case (int)TemplateType.ArticleList: int pageIndex = CECRequest.GetQueryInt("page", 1); int pageSize = 15; ViewBag.ArticleList = ArticleService.List(new SearchSetting { PageSize = pageSize, PageIndex = pageIndex, CategoryId = currentCatInfo.Id, Language = lang }); break; } ViewBag.RootCategoryInfo = rootCatInfo; ViewBag.CurrentCategoryInfo = currentCatInfo; return(View()); }
public static bool ExistsAlias(int cid, string alias, WebLanguage lang) { StringBuilder sb = new StringBuilder(); sb.Append(" SELECT COUNT(*) FROM Categories WITH(NOLOCK)"); sb.AppendFormat(" WHERE Language = {0} ", (int)lang); sb.AppendFormat(" AND Alias = '{0}' ", alias); if (cid != 0) { sb.AppendFormat(" AND Id <> {0} ", cid); } return(Convert.ToInt32(Goodspeed.Library.Data.SQLPlus.ExecuteScalar(CommandType.Text, sb.ToString())) > 0); }
/// <summary> /// 根据此ID获得所有祖先,正序排列,包括此节点,包含未启用的 /// </summary> /// <param name="id"></param> /// <param name="lang">首先根据语言缩小查找范围</param> /// <returns></returns> public static IList <CategoryInfo> ListUpById(int id, WebLanguage lang) { IList <CategoryInfo> upList = new List <CategoryInfo>(); //向上遍历则包含删除的和未启用的 var listAll = ListByLanguage(lang); BuildListUpByParentId(listAll, id, ref upList); upList = upList.Reverse().ToList(); foreach (var item in upList) { LoadExtionsion(item); } return(upList); }
/// <summary> /// 根据语言获得所有分类 /// </summary> /// <param name="appId"></param> /// <returns></returns> public static IList <CategoryInfo> ListByLanguage(WebLanguage lang) { string strSQL = string.Format("SELECT * FROM Categories WITH(NOLOCK) WHERE Language = {0} ORDER BY Sort", (int)lang); var list = new List <CategoryInfo>(); CategoryInfo model = null; DataTable dt = Goodspeed.Library.Data.SQLPlus.ExecuteDataTable(CommandType.Text, strSQL); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { model = Get(dr); list.Add(model); } } return(list); }
/// <summary> /// 根据此ID获得所有孩子节点,包括此节点 /// </summary> /// <param name="id"></param> /// <param name="lang">首先根据语言缩小查找范围</param> /// <returns></returns> public static IList <CategoryInfo> ListDownById(int id, WebLanguage lang) { IList <CategoryInfo> downList = new List <CategoryInfo>(); //向下遍历则去掉删除的和未启用的 var listAll = ListByLanguage(lang).Where(p => (!p.IsDeleted && p.IsEnabled)); //添加此节点本身 downList.Add(listAll.Where(p => p.Id == id).FirstOrDefault()); BuildListDownByParentId(listAll, id, ref downList); foreach (var item in downList) { LoadExtionsion(item); } return(downList); }
/// <summary> /// 根据指定语言获得此语言文本 /// </summary> /// <param name="key"></param> /// <param name="language"></param> /// <returns></returns> public static string GetString(string key, WebLanguage language) { string path = string.Format("Language/{0}.xml", language); XElement items = XElement.Load(String.Concat(System.AppDomain.CurrentDomain.BaseDirectory, path)); var list = items.Elements("item"); string value = string.Empty; foreach (var item in list) { string _key = (string)item.Attribute("key"); string _value = item.Value; if (key.ToLower() == _key.ToLower()) { value = _value; break; } } return(value); }
public ActionResult Show() { WebLanguage lang = XFramework.Site.Home.Models.XFrontContext.Current.Language; /* * 总模板页需要以下变量 * 1,根据Url获得根节点信息,因为左边需要导航信息 * 2,根据Url获得所属类别,因为右边区域有个副导航 */ string fileName = Goodspeed.Web.UrlHelper.Current.FileName; string guid = Regex.Match(fileName, @"([a-z0-9-]+)\.html", RegexOptions.IgnoreCase).Groups[1].Value; var articleInfo = ArticleService.GetByGUID(guid, lang); if (articleInfo.Id > 0) { //获取此文章所属类别ID,用于左边导航列表 var currentCategoryInfo = CategoryService.Get(articleInfo.CategoryId); if (currentCategoryInfo.IsEnabled == false && currentCategoryInfo.IsDeleted == true) { //说明此分类设置为未启用或者分类已删除 return(Content("此文章的分类已删除或设置为未启用!")); } //获得根类别,用于左边导航列表 //在这里顶级类别可以是已删除或未启用的状态 //具体判断在显示左边导航列表的时候执行 var rootCategoryInfo = CategoryService.ListUpById(currentCategoryInfo.Id, lang).FirstOrDefault(); ViewBag.RootCategoryInfo = rootCategoryInfo; ViewBag.CurrentCategoryInfo = currentCategoryInfo; //设置页面标题 ViewBag.Title = articleInfo.Title; ViewBag.Keywords = articleInfo.Tags; //ViewBag.Description = Goodspeed.Common.CharHelper.Truncate(Controleng.Common.Utils.RemoveHtml(articleInfo.Content), 60); } return(View(articleInfo)); }
public ActionResult Add(WebLanguage input) { #region create new data var newLanguage = new WebLanguage { Name = input.Name }; //menu foreach (var level1 in _context.Get <WebMenu>(d => d.LanguageId == 1 && d.ParentId == null).ToList()) { var Newlevel1 = new WebMenu() { Name = level1.Name, Content = level1.Content, Link = level1.Link, Order = level1.Order }; foreach (var level2 in _context.Get <WebMenu>(d => d.LanguageId == 1 && d.ParentId == level1.Id).ToList()) { var Newlevel2 = new WebMenu() { Name = level2.Name, Content = level2.Content, Link = level2.Link, Order = level2.Order }; foreach (var level3 in _context.Get <WebMenu>(d => d.LanguageId == 1 && d.ParentId == level2.Id).ToList()) { Newlevel2.WebMenuChildren.Add(new WebMenu() { Name = level3.Name, Content = level3.Content, Link = level3.Link, Order = level3.Order }); } Newlevel1.WebMenuChildren.Add(Newlevel2); } newLanguage.WebMenus.Add(Newlevel1); } //college var college = _context.FindDetail <College>(1); _context.EntityCloneNew(college); newLanguage.College = college; //carousel foreach (var item in _context.Get <WebCarousel>(d => d.LanguageId == 1).ToList()) { _context.EntityCloneNew(item); newLanguage.WebCarousels.Add(item); } //newsType foreach (var item in _context.Get <WebNewsType>(d => d.LanguageId == 1).Include(d => d.WebNews).ToList()) { _context.EntityCloneNew(item); foreach (var news in item.WebNews) { _context.EntityCloneNew(news); } newLanguage.WebNewsTypes.Add(item); } //events foreach (var item in _context.Get <WebEvent>(d => d.LanguageId == 1).ToList()) { _context.EntityCloneNew(item); newLanguage.WebEvents.Add(item); } //JobType foreach (var item in _context.Get <WebJobType>(d => d.LanguageId == 1).ToList()) { _context.EntityCloneNew(item); newLanguage.WebJobTypes.Add(item); } //Departments foreach (var item in _context.Get <WebDepartment>(d => d.LanguageId == 1).Include(d => d.WebStaff).Include(d => d.WebStories).Include(d => d.WebStudents).ToList()) { _context.EntityCloneNew(item); foreach (var staff in item.WebStaff) { _context.EntityCloneNew(staff); } foreach (var story in item.WebStories) { _context.EntityCloneNew(story); } foreach (var student in item.WebStudents) { _context.EntityCloneNew(student); } newLanguage.WebDepartment.Add(item); } //userful link foreach (var item in _context.Get <WebUsefulLink>(d => d.LanguageId == 1).ToList()) { _context.EntityCloneNew(item); newLanguage.WebUsefulLinks.Add(item); } _context.AddOneEntity(newLanguage); #endregion #region update languageId //newsType var languageId = newLanguage.Id; foreach (var item in _context.Get <WebNewsType>(d => d.LanguageId == languageId).Include(d => d.WebNews).ToList()) { foreach (var news in item.WebNews) { news.LanguageId = languageId; } } //Departments foreach (var item in _context.Get <WebDepartment>(d => d.LanguageId == languageId).Include(d => d.WebStaff).Include(d => d.WebStories).Include(d => d.WebStudents).ToList()) { foreach (var staff in item.WebStaff) { staff.LanguageId = languageId; } foreach (var story in item.WebStories) { story.LanguageId = languageId; } //foreach (var student in item.WebStudents) //{ //} } _context.SaveChange(); #endregion return(RedirectToAction <WebLanguageController>(d => d.Index())); }
public ActionResult Add(FormCollection fc, CategoryInfo modelInfo) { //判断是否选择中文 //如果选择中文,则是根目录,否则为子类别 bool isAdd = modelInfo.Id == 0 ? true : false; bool errors = false; int catId = Controleng.Common.Utils.StrToInt(fc["ddlCat"], 0); if (catId == 0) { errors = true; ModelState.AddModelError("CAT", "请选择类别"); } if (string.IsNullOrEmpty(modelInfo.Name)) { errors = true; ModelState.AddModelError("NAME", "请输入类别名称"); } //if(CategoryService.ExistsAlias(modelInfo.Id,modelInfo.Alias,)){} if (catId == (int)WebLanguage.en || catId == (int)WebLanguage.zh_cn) { WebLanguage lang = (WebLanguage)Enum.Parse(typeof(WebLanguage), catId.ToString()); //说明选择的是“中文”或“英文”,添加或编辑的是跟类别 if (CategoryService.ExistsAlias(modelInfo.Id, modelInfo.Alias, lang)) { errors = true; ModelState.AddModelError("ALIAS", "别名已存在,请选择其他别名"); } if (CategoryService.ExistsName(modelInfo.Id, modelInfo.Name, 0, lang)) { errors = true; ModelState.AddModelError("NAME", "分类名称不能重复"); } } else { //说明添加的是子类别 if (catId > 0) { var parentModelInfo = CategoryService.Get(catId); if (CategoryService.ExistsAlias(modelInfo.Id, modelInfo.Alias, parentModelInfo.Language)) { ModelState.AddModelError("ALIAS", "别名已存在,请选择其他别名"); } if (CategoryService.ExistsName(modelInfo.Id, modelInfo.Name, parentModelInfo.Id, parentModelInfo.Language)) { errors = true; ModelState.AddModelError("NAME", "分类名称不能重复"); } } } if (isAdd) { //if(modelInfo.Alias.IndexOf("en")>0){ // errors = true; // ModelState.AddModelError("ALIAS_EN","别名不能包含“en”"); //} } if (!errors && ModelState.IsValid) { //modelInfo.TemplateType = Controleng.Common.Utils.StrToInt(fc["ddlTemplates"], 0); //在这没判断别名是否重复,暂时没做 if (catId == (int)WebLanguage.en || catId == (int)WebLanguage.zh_cn) { //说明添加的跟类别 modelInfo.Language = (WebLanguage)Enum.Parse(typeof(WebLanguage), catId.ToString()); modelInfo.ParentId = 0; modelInfo.ParentIdList = "0"; CategoryService.Create(modelInfo); } else { //说明是子类别,要获取上一类别的语言 if (catId > 0) { var parentModelInfo = CategoryService.Get(catId); modelInfo.ParentId = catId; modelInfo.ParentIdList = string.Format("{0},{1}", parentModelInfo.ParentIdList, modelInfo.ParentId); modelInfo.Language = parentModelInfo.Language; CategoryService.Create(modelInfo); } } if (isAdd) { ViewBag.Msg = "添加成功!是否继续添加?<a href=\"Add\">【是】</a> <a href=\"List?lang=-1\">【否】</a>"; } else { ViewBag.Msg = "更新成功!<a href=\"List?lang=-1\">返回</a>"; } } return(View(modelInfo)); }
public ActionResult RenderSubNavForChannelPage(int catId, string customTitle = "", WebLanguage language = WebLanguage.zh_cn) { /* * <span class="fgray">您所在的位置:</span><a href="#">首页</a> > <a href="http://www.mtd.com.cn/about.htm"> * 关于机科</a> > 公司简介 */ StringBuilder sbNav = new StringBuilder(string.Format("<span class=\"fgray\">{2}:</span><a href=\"/{1}\">{0}</a>", LanguageResourceHelper.GetString("channel-sub-nav-home-text", language), (language == WebLanguage.zh_cn ? string.Empty : language.ToString()), LanguageResourceHelper.GetString("current-text", language)) ); if (catId > 0) { //可以显示未启用的分类,但是不能显示已删除的分类 var upList = CategoryService.ListUpById(catId, language).Where(p => p.IsDeleted == false); foreach (var item in upList) { sbNav.AppendFormat(" > <a href=\"{1}\" title=\"{0}\">{0}</a>", item.Name, item.Url); } } if (!string.IsNullOrEmpty(customTitle)) { sbNav.AppendFormat(" > {0}", customTitle); } return(Content(sbNav.ToString())); }
/// <summary> /// 根据文章ID,获得相关文章 /// </summary> /// <param name="siteId">所属站点</param> /// <param name="article">所属文章</param> /// <param name="topCount"></param> /// <returns></returns> public static IList <ArticleInfo> GetRelatedByArticleId(int siteId, int articleId, int topCount, WebLanguage language = WebLanguage.zh_cn) { var list = ArticleManage.GetRelatedByArticleId(siteId, articleId, topCount); foreach (var item in list) { LoadExtensionInfo(item, language); } return(list); }
public ActionResult SubCategoryListForChannelPage(int rootId, int selectedId, WebLanguage language = WebLanguage.zh_cn) { if (rootId == 0) { //在当前页面不会列出此站点的所有类别的 return(Content(string.Empty)); } StringBuilder sbHtml = new StringBuilder(); //显示启用的以及未删除的所有分类 var catAllList = CategoryService.ListByLanguage(language).Where(p => (p.IsEnabled == true && p.IsDeleted == false)); //二级分类 var subList = catAllList.Where(p => p.ParentId == rootId); foreach (var item in subList) { bool isH3Selected = item.Id == selectedId; sbHtml.AppendFormat("<h3{1}><a href=\"{2}\" title=\"{0}\" id=\"{3}\">{0}</a></h3>", item.Name, isH3Selected ? " class=\"on\"" : string.Empty, item.Url, item.Id); //三级分类 var threeList = catAllList.Where(p => p.ParentId == item.Id); //是否有三级分类 var threeListCount = threeList.Count(); if (threeListCount > 0) { //有三级分类,则输出 bool isSubUlShow = isH3Selected ? true : threeList.Where(p => p.Id == selectedId).Count() > 0; sbHtml.AppendFormat("<ul class=\"about_list2sort\" style=\"display:{1};\" id=\"sub_cat_{0}\">", item.Id, isSubUlShow ? "block" : "none"); foreach (var sub in threeList) { sbHtml.AppendFormat("<li{1}><a href=\"{2}\" title=\"{0}\">{0}</a></li>", sub.Name, sub.Id == selectedId ? " class=\"on\"" : string.Empty, sub.Url); } sbHtml.Append("</ul>"); } } return(Content(sbHtml.ToString())); }
/// <summary> /// 根据父ID获取此ID下一级栏目,只显示一级子分类,包含删除的和未启用的 /// </summary> /// <param name="parentId"></param> /// <returns></returns> public static IList<CategoryInfo> ListByParentId(int parentId,bool showEnabled = false,bool showDeleted = true,WebLanguage language = WebLanguage.zh_cn) { var _list = CategoryManage.ListByParentId(parentId).AsEnumerable(); if(showEnabled){ _list = _list.Where(p => p.IsEnabled == true); } if(!showDeleted){ _list = _list.Where(p=>p.IsDeleted == false); } foreach (var item in _list) { LoadExtionsion(item); } return _list.ToList(); }
/// <summary> ///分类名是否存在,在同一语言下 /// </summary> /// <param name="id"></param> /// <param name="name"></param> /// <param name="parentId"></param> /// <param name="lang"></param> /// <returns></returns> public static bool ExistsName(int id, string name, int parentId, WebLanguage lang) { return(ArticleCategoryManage.ExistsName(id, name, parentId, lang)); }
public static string BuildListForAdminWithEdit(IEnumerable <CategoryInfo> list, int parentId, WebLanguage lang) { var pList = list.Where(nc => nc.ParentId == parentId); if (pList.Count() == 0) { return(string.Empty); } var sb = new StringBuilder(); sb.AppendFormat("<ul {0}>", parentId == 0 ? "class=\"treeview-black treeview\"" : string.Empty); foreach (var item in pList) { sb.Append("<li>"); sb.AppendFormat("{0}", item.Name); sb.AppendFormat("({0}-{1}-{2})", item.Id, item.Alias, (TemplateType)Enum.Parse(typeof(TemplateType), item.TemplateType.ToString(), true)); //sb.AppendFormat("<a id=\"{1}\" title=\"{0}\">{0}({2})</a>", item.Name, item.Id, item.Alias); //显示是调用的那个模板 //sb.AppendFormat(" ({0})",(TemplateType)Enum.Parse(typeof(TemplateType),item.TemplateType.ToString(),true)); if (!item.IsEnabled) { sb.Append(" <font color=\"red\">未启用</font>"); } if (item.IsDeleted) { sb.Append(" <font color=\"red\">已删除</font>"); } sb.AppendFormat(" <a href=\"Add?id={0}\">编辑</a>", item.Id); //sb.AppendFormat(" <a href=\"javascript:void(0);\" onclick=\"deleteCategory({0},{1})\">删除</a>",item.Id,item.SiteId); //递归 sb.Append(BuildListForAdminWithEdit(list, item.Id, lang)); sb.AppendLine("</li>"); } sb.Append("</ul>"); return(sb.ToString()); }
public static string RenderTreeViewForAdminWithEdit(WebLanguage lang) { var list = ListByLanguage(lang); //后台显示所有的,包含删除的和未启用的 return(BuildListForAdminWithEdit(list, 0, lang)); }
/// <summary> /// 根据类别名获取文章 /// </summary> /// <param name="siteId"></param> /// <param name="categoryNames">格式:【首页设置/焦点图片】或【首页设置】</param> /// <param name="topCount"></param> /// <param name="topOneImage">第一条是否是图片,默认False</param> /// <returns></returns> public static IList <ArticleInfo> ListWithoutPageV2(int siteId, string categoryNames, int topCount, bool topOneImage, WebLanguage language = WebLanguage.zh_cn) { List <string> _categoryNames = categoryNames.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries).ToList(); Func <List <string>, int, int> fb = null; var categoryList = CategoryService.ListBySiteId(siteId, true); fb = (n, pid) => { string _name = n[0]; var _item = categoryList.Where(p => p.Name == _name && p.ParentId == pid).FirstOrDefault(); if (_item == null || _item.Id == 0) { return(0); } n.Remove(_name); if (n.Count == 0) { return(_item.Id); } return(fb(n, _item.Id)); }; int cid = fb(_categoryNames, 0); return(ListWithoutPage(siteId, cid, topCount, topOneImage, language)); }
/// <summary> /// 根据类别ID获取TOP几条,没有分页 /// </summary> /// <param name="siteId"></param> /// <param name="categoryId"></param> /// <param name="topCount"></param> /// <returns></returns> public static IList <ArticleInfo> ListWithoutPage(int siteId, int categoryId, int topCount, WebLanguage language = WebLanguage.zh_cn) { return(ListWithoutPage(siteId, categoryId, topCount, false, language)); }