1、获取当前栏目Id,返回int数字
Html.CurrentColumnId()
2、获取栏目url地址,返回string字符串
Html.ColumnUrl(int? columnId)
参数不设置则默认当前栏目Id,后面所有方法参数类似,不设置参数则默认当前栏目id
3、获取栏目名称,返回string字符串
Html.ColumnName(int? columnId)
4、获取当前栏目数据,返回值为对象
Html.ColumnData(int? columnId)
5、获取当前栏目对应的内容表的数据,返回值为对象。
Html.ColumnContentData(int? columnId)
实例:调用栏目编辑器内容
@{ var contentData=Html.ColumnContentData(); //获取栏目的自定义内容数据对象 } <div class="boxClass"> @Html.Raw(contentData.Content) //调用Content字段,即编辑器内容。 </div>
6、获取当前栏目相邻的父级栏目Id
Html.ParentColumnId(int? columnId)
7、获取当前栏目相邻的父级栏目数据,返回值为对象
Html.ParentColumnData(int? columnId)
8、获取当前栏目相邻的父级栏目名称
Html.ParentColumnName(int? columnId)
9、获取当前栏目相邻的父级栏目url地址
Html.ParentColumnUrl(int? columnId)
10、获取当前栏目的顶层父栏目Id
Html.TopColumnId(int? columnId)
11、获取当前栏目的顶层父级栏目数据,返回值为对象
Html.TopColumnData(int? columnId)
12、获取当前栏目的顶层父级栏目名称
Html.TopColumnName(int? columnId)
13、获取当前栏目的顶层父级栏目url地址
Html.TopColumnUrl(int? columnId)
14、判断栏目是否有下级子栏目
Html.IsExistsChildrenColumn(int columnId,int? level)
版本要求:v4.0.21版本或以上。
参数level为可选参数,表示要求子栏目的级别,第一级则为1,第一级则为2,以此类推。
实例:
@{ //案例1、判断栏目Id等于1000的栏目是否有子级栏目 var isExistsChild1 = Html.IsExistsChildrenColumn(1000);//符合条件返回true,否则返回false //判断栏目Id等于1001的栏目是否有子级栏目,并且要求子级栏目的是第二级。 var isExistsChild2 = Html.IsExistsChildrenColumn(1001, 2);//符合条件返回true,否则返回false }
15、获取整个栏目数据集合,返回值为对象集合。
Html.GetColumnList(Func<dynamic, bool> fun)
实例:调用站点Id等于1的1级栏目
<ul> @{ var columnList=Html.GetColumnList(c=>c.SiteId==1 && c.Level==1); foreach(var item in columnList) { var url=Html.ColumnUrl((int)item.Id); <li><a href="@url">@item.Name</a></li> } </ul>
注:如果不是有个性化需求,建议用系统预设的获取栏目树html结构的语法直接获取栏目。
16、根据栏目名称设置信息栏目 (要求v4.0.24版本或以上)
Html.SetColumnId(string table,int id, params string[] columnNames)
应用场景:通过excle导入数据时,可以在excle中定义个栏目名称列,然后再模板中循环读取并同步设置栏目id。
实例:循环设置新闻表(news)的数据栏目。
@foreach (var item in Html.InfoDataList(new {ColumnId= columnId,OrderBy="thedate desc" }, null, null, pageInfo)) { int id=(int)item.Id; Html.SetColumnId("news",id,"行业资讯"); //或 //Html.SetColumnId("news",id,"新闻中心","行业资讯");//支持多层次栏目设置 }
注意:通过以上方法设置好数据栏目后,后请务必删除调用。