DTCMS自定义标签,获取所有栏目文章列表TOP,以及文章通用URL
网站最近更新等地方,发现DTCMS没有获取所有栏目文章列表的标签,只能自己写
思路:获取所有栏目文章列表不难,难点在于linkurl的写法
1、制作获取所有文章列表标签
DTcms.Web.UI\Label\article.cs中
/// <summary>
/// 自定义:文章列表
/// </summary>
/// <param name="top">显示条数</param>
/// <param name="strwhere">查询条件</param>
/// <returns>DataTable</returns>
protected DataTable get_article_list(int top, string strwhere)
{
return new BLL.article().GetList(top, strwhere, " sort_id asc,add_time desc").Tables[];
}
2、制作linkurl,首先需要获得文章详细页的调用名称,比如furniture_show,组成linkurl("furniture_show",{dr[id]})。{dr[id]}为文章ID,
这里需要读取xmlconfig\urls.config 节点
DTcms.Web.UI\Label\category.cs中 增加两个标签
/// <summary>
/// 自定义:根据栏目的别名 返回URL名称
/// </summary>
/// <param name="category_name">栏目的别名</param>
/// <returns>String</returns>
protected string get_url_name(string category_name, string attrType)
{
string urlchannel = string.Empty;
BLL.url_rewrite bll = new BLL.url_rewrite();
if (!string.IsNullOrEmpty(category_name))
{
urlchannel = bll.GetInfo(category_name, attrType).name;
}
return urlchannel;
}
/// <summary>
/// 自定义:返回当前类别调用别名
/// </summary>
/// <param name="category_id">类别ID</param>
/// <returns>String</returns>
protected string get_category_name(string category_id)
{
string default_value = string.Empty;
BLL.channel bll = new BLL.channel();
if (bll.Exists(Convert.ToInt32(category_id)))
{
return bll.GetModel(Convert.ToInt32(category_id)).name;
}
return default_value;
}
3、在index.html模版中
<%set DataTable redNews=get_article_list(1, "status=0 and is_red=1 and img_url<>''")%>
<%foreach(DataRow dr in redNews.Rows)%>
<li>
<a title="{dr[title]}" href="<%linkurl(get_url_name(get_category_name({dr[channel_id]}),"detail"),{dr[id]})%>">
<span class="note-bg"></span>
<span class="note-txt">{dr[title]}</span>
<img src="{dr[img_url]}" />
</a>
</li>
<%/foreach%>
<%set DataTable newest=get_article_list(10, "status=0 ")%>
<%foreach(DataRow dr in newest.Rows)%>
<li><span><%datetostr({dr[add_time]},"yyyy-MM-dd")%></span><a title="{dr[title]}" href="<%linkurl(get_url_name(get_category_name({dr[channel_id]}),"detail"),{dr[id]})%>">
<%cutstring({dr[title]},35)%></a></li>
<%/foreach%>
DTCMS自定义标签,获取所有栏目文章列表TOP,以及文章通用URL的更多相关文章
- dedecms列表页如何让文章列表里面的文章每隔五篇就隔开一段空间
dedecms列表页如何让文章列表里面的文章每隔五篇就隔开一段空间,运用js控制列表样式的方法. 代码如下: <script type="text/javascript"&g ...
- 织梦dedecms 扩展channel栏目标签 获取交叉栏目名称和链接
channel栏目标签默认有调用顶级栏目(top).子栏目(son).同级栏目(self),那想获取交叉栏目的名称和链接怎么获取呢? 其实在原来的代码上改一下就可以了.下面是具体代码.打开文件chan ...
- day58——模板继承、组件、自定义标签和过滤器、inclusion_tag、静态文件配置、url别名和反向解析、url命名空间
day58 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承它使用) 2. 在母版中定义block块(可以定义多个,整个页面任意位置) {% block co ...
- DTCMS自定义标签,获取所有栏目以及获得二级子栏目导航
取得二级栏目 DTcms.Web.UI\Label\category.cs中 get_category_child_list 返回当前所有子栏目 DTcms.Web.UI\Label\category ...
- DTCMS自定义标签:获取所有栏目以及不显示指定栏目
DTcms.Web.UI\Label\category.cs中 添加下面代码 /// <summary> /// 返回所有类别 /// </summary> /// <r ...
- DTCMS自定义标签:面包屑导航,栏目中通过栏目调用名称获得栏目名称
DTcms.Web.UI\Label\category.cs中增加标签 /// <summary> /// 自定义:通过类别name获得类别title /// </summary&g ...
- DTCMS自定义标签,tags分割
DTcms.Web.UI\Label\article.cs /// <summary> /// 自定义:分割tags /// </summary> /// <param ...
- SpringBoot整合freemarker中自定义标签获取字典表的数据
因为在前端要根据字典表中的数据去将1.2这些值转换成对应的文字解释 1.首先要创建一个类去实现 TemplateDirectiveModel 类 @Component public class Dic ...
- go struct 自定义标签获取
package main import ( "fmt" "reflect" ) type Test struct { Id int `json:"us ...
随机推荐
- android139 360 黑名单 增删改查-数据库操作
BlackNumberOpenHelper.java package com.itheima52.mobilesafe.db.dao; import android.content.Context; ...
- 一个公网地址部署LVS/DR模式
http://blog.chinaunix.net/uid-7411781-id-3436142.html 一个公网地址部署LVS/DR模式 网上看了很多关于LVS的文章,在选取2种模式LVS/D ...
- 使用文档注释(javadoc)
相信作为Java程序猿,几乎每个人都使用过javac,Java这样的命令吧.想想我们平时使用的Java帮助文档(API),感觉挺好用的,其实它就是使用Java中的命令javadoc做成的.下面简单介绍 ...
- jQuery Validate 插件[表单验证]
在客户端添加信息提交表单时我们经常需要做一些验证,比如验证不能为空,验证客户输入手机格式,验证客户输入email,url等的格式,我们可以通过EL表达式结合js 进行自主验证,今天总结一个JQuery ...
- oracle的控制语句if和循环语句loop while for
pl/sql的控制结构if-then if-then-else if-then-elsif-else 案例1:编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该雇员工资增加10% ...
- Ubuntu环境下配置Nginx
/etc/nginx目录文件下: drwxr-xr-x 5 root root 4096 Apr 27 12:47 ./ drwxr-xr-x 104 root root 4096 Apr 27 ...
- SQL_server 数据库备份信息查看
select distinct s.database_name, s.first_lsn,s.last_lsn,s.database_backup_lsn,s.backup_finish_date,s ...
- 24小时学通Linux内核之有关Linux文件系统实现的问题
有时间睡懒觉了,却还是五点多醒了,不过一直躺倒九点多才算起来,昨晚一直在弄飞凌的嵌入式开发板,有些问题没解决,自己电脑系统的问题,虽然Win10发布了,,但我还是好喜欢XP呀,好想回家用用家里的XP来 ...
- # li鼠标移入移出,点击,变背景色,变checkbox选中状态
移入移出背景色改变和点击背景色改变,两者是否相互覆盖? 若移出背景色恢复,影响点击事件的背景色改变,会产生效果为: 点击时,背景色改变,并且checkbox选中 鼠标移开后,checkbox仍选中,但 ...
- css3 web字体记
css3 web字体 @font-face语法 @font-face能够加载服务器端的字体,让客户端浏览器显示客户端没有安装的字体. @font-face{ font-family:<YourW ...