以下是小编帮大家整理的织梦CMS TAG标签管理教程,本文共9篇,供大家参考借鉴,希望可以帮助到您。本文原稿由网友“無所謂幾時”提供。
篇1:织梦CMS TAG标签管理教程
1 概述
此功能可对TAG进行提取,修改
2 入口
3 操作
3.1 提取TAG
输入文档ID范围可批量获取TAG,以关键字为准
3.2 TAG维护
可对TAG的点击量进行个更改,可对单个TAG删除或者批量删除
篇2:关于织梦搜索页页标签调用的问题
很多朋友在使用dedecms进行网站开发时都会存在这样的问题,那就是dedecms的搜索页(search.php)与我们网站页面的模板的头部、底部不一样,并且还不支持在搜索页调用其他某一栏目的文档,但是我们实际的网站建设中有时候必须保证我们的搜索页与我们的其他页面风格一样,所以我们要都搜索页进行一些改造:
下边我们来介绍一下如何在搜索页支持arclist和channelartlist这两个标签的调用:
打开include/arc.searchview.class.php
查找
require_once(DEDEINC.”/taglib/hotwords.lib.php”);
require_once(DEDEINC.”/taglib/channel.lib.php”);
下面插入
require_once(DEDEINC.”/taglib/arclist.lib.php”);
require_once(DEDEINC.”/taglib/channelartlist.lib.php”);
查找
else if($tagname==”hotwords”)
{
$this->dtp->Assign($tagid,lib_hotwords($ctag,$this));
}
下面插入
else if($tagname==”arclist”)
{
$this->dtp->Assign($tagid,lib_arclist($ctag,$this));
}
else if($tagname==”channelartlist”)
{
$this->dtp->Assign($tagid,lib_channelartlist($ctag,$this));
}
当然,有时候我们的搜索页面还要支持更多的标签调用,那么大家可以根据上边的这样的方法自行再进行一些相应的修改,
篇3:织梦CMS{dede /}常见标签的用法
首先我简单的介绍下自己,我是织梦官方团队的天涯,接触织梦也有2年多时间了,之前一直在论坛上做斑竹,认识了很多喜爱织梦的朋友,后来便加入了织梦团队,发现这是一个充满朝气、有激情和学习力的地方,这次受站长网的邀请来给大家做一次DedeCMS程序方面的讲座,
因为这次主要是讲座,缺乏体系的培训内容,本次讲座我将织梦技术论坛较为常见的问题加以整理,并结合一些其他方面的应用内容进行补充,让大家更了解DedeCMS程序的使用。
安全设置
首先是程序安全问题,这里主要是一些拥有独立服务器的站长,如果自己在系统安全部署上面有些经验那应该没有什么问题,有部分站长没有系统安全部署的经验,加上现在挂马猖獗,所以许多人都在担心,官方在早些时候就发了一个关于《DedeCms V5.3/V5.5 安全设置指南》的主题帖,地址为:bbs.dedecms.com/172474.html,这里面说了如何在Win Serv环境配置服务器环境。
不过文中提到了织梦的文件目录,这里我对整个系统文件目录进行一个说明:bbs.dedecms.com/178324.html,当然,如果你安装个模块会相应的增加一些目录,例如模块group、ask等。
{dede:sql}标签的用法
sql标签可以称得上是个万能标签了,查询数据库将其输出,这里介绍一些关于这个标签的用法:
1.用来输出统计内容,这个是不错的,举个例子,我们来统计下总共发了多少的文章,思路就是输出dede_addonarticle这个文章附加表内容总数就可以了。
{dede:sql sql=“SELECT COUNT(*) AS nums FROM dede_addonarticle”}
[field:name = “nums”/]
{/dede:sql}
2.使用~field~来进行特殊的查询,比如之前论坛上面很多会员需要做一个输出当前发布文章会员的相关内容,之前用sql或者arclist标签是没办法实现的,因为每篇内容是不同的,这里我们来用5.5的sql语句来做个示范。
我们首先在文章模板中相应的位置加上下面的标签
{dede:sql sql=“SELECT * FROM dede_archives WHERE writer=~writer~”}
[field:id/],
{/dede:sql}
这个放到article_article.htm页面,将会检索出当前会员发布的相关文章,这里的~ writer~会根据当前内容的环境变量进行替换后再执行查询。
这里出现在SQL语句中条件查询的~ writer~,也就是$refObj->Fields[$value]这个里面的相关内容
模板中使用PHP
许多人希望织梦的模板标签能够更加灵活,加入可以运行PHP的功能,这里在DedeCMS V5.5中就加入了一个可以执行php的特殊标签{dede:php}{/dede:php},这个标签可以执行PHP语句了。
我这里举几个常用的例子:
1.最简单的输出内容:
{dede:php}
$numA = 1;
$numB = 2;
echo $numA + $numB;
{/dede:php}
这个输出的内容是计算结果:
3
2.结合SQL查询输出单条内容
{dede:php}
$row = $dsql->GetOne('select id,typename from dede_arctype where id=2');
print_r($row);
{/dede:php}
这个输出的内容是
Array
(
[id] =>2
[typename] =>问答
)
3.获取当前页面的变量
比如我们这里进入系统后台的[模板]-[全局标记测试],我们在代码中填入下面的内容:
{dede:php}
print_r($refObj->Fields);
{/dede:php}
如果环境变量保持默认,即“不使用环境ID”,我们会看到以下的结果:
Array
(
[typeid] =>0
[phpurl] =>/plus
[indexurl] =>/
[templeturl] =>/templets
[memberurl] =>/member
[specurl] =>/special
[indexname] =>主页
[templetdef] =>/templets/default
)
那我们再换个环境变量测试看看,这里以我本地的栏目为测试了:
Array
(
[id] =>3
[reid] =>0
[topid] =>0
[sortrank] =>1
[typename] =>产品
[typedir] =>{cmspath}/product
… …
[indexname] =>主页
[templetdef] =>/templets/default
[position] =>主页 >产品 >
[title] =>产品
)
这样一来就检索出当前页面的局部变量了,接下来我们可以来结合前面的SQL语句来实现根据不同环境ID调用内容不同栏目内容,
例如:
{dede:php}
$thisid = $refObj->Fields['id'];
$row = $dsql->GetOne('select id,typename from dede_arctype where id='.$thisid);
print_r($row);
{/dede:php}
这样是来调用当前栏目的标题,这个标签功能类似于{dede:field.typename/}
写自己的标签,让别人说去吧
DedeCMS从V5.3开始就支持自己扩展标签,不过许多新人很少用那个东西,今天我就来简单的介绍下如何编写自己的调用标签。
我们需要知道下扩展标签的存放目录及文件名构成,首先,扩展的标签都是存放在/include/taglib这个目录,名称都是以“标签名.lib.php”格式,例如{dede:channel/}标签对应的是channel.lib.php文件。
我们可以看一个示例标签:demotag.lib.php
if(!defined('DEDEINC'))
{
exit(“Request Error!”);
}
function lib_demotag(&$ctag,&$refObj)
{
global $dsql,$envs;
//属性处理
$attlist=“row|12,titlelen|24”;
FillAttsDefault($ctag->CAttribute->Items,$attlist);
extract($ctag->CAttribute->Items, EXTR_SKIP);
$revalue = '';
//你需编写的代码,不能用echo之类语法,把最终返回值传给$revalue
//------------------------------------------------------
$revalue = 'Hello Word!';
//------------------------------------------------------
return $revalue;
}
?>
我们登录系统后台的[模板]-[全局标签测试]中运行{dede:demotag/},显示如下的结果:
篇4:织梦DedeCms文章类的调用标签
这些标签做文章页的时候会用得到,特意从整理了一下,
织梦DedeCms文章类的调用标签
文章标题:{dede:field name=’title’/}
网站标题:{dede:global name=’cfg_webname’/}
热门关键字:{dede:hotwords num=’5′ subday=’30′/}
当前位置 :{dede:field name=’typelink’/}|
篇5:织梦管理系统后台查找
有时在通过注射得到织梦程序的管理密码时,却发现找不到后台地址,
织梦管理系统后台查找
,
。
这个时候 大家可以尝试下在地址后面加上:/include/dialog/select_media.php?f=form1.murl
但不一定通杀。。
By:cast
篇6:织梦管理系统后台查找
有时在通过注射得到织梦程序的管理密码时,却发现找不到后台地址,。 这个时候 大家可以尝试下在地址后面加上:/include/dialog/select_media.php?f=form1.murl 但不一定通杀,
。
有时在通过注射得到织梦程序的管理密码时,却发现找不到后台地址。。
这个时候 大家可以尝试下在地址后面加上:/include/dialog/select_media.php?f=form1.murl
但不一定通杀。。
篇7:织梦/dedecms TAG标签按栏目显示(只显示当前栏目标签)
弄了半天终于知道如何让DEDE的TAG标签按栏目显示,只显示当前栏目的所有标签:D
一、打开include/taglib/目录下的 tag.lib.php 文件
找到下面这段代码,并在中间插入标注部分代码
if($getall==0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid'])) { $dsql->SetQuery(“Select tid From `ddmx_taglist` where aid = '{$refObj->Fields['aid']}' ”); $dsql->Execute; $ids = ''; while($row = $dsql->GetArray()) { $ids .= ( $ids=='' ? $row['tid'] : ','.$row['tid'] ); } if($ids != '') { $addsql = “ where id in($ids) ”; } if($addsql=='') return ''; } else if($getall==2){$addsql = “ where typeid='{$refObj->Fields['typeid']}' ”;}else { if(!empty(0id)) { $addsql = “ where typeid='0id' ”; }
二、修改你的模板
模板调用如下:
{dede:tag sort='hot' getall='2'} [field:tag /] {/dede:tag}
搞定
篇8:织梦、帝国及PHPCMS对比:支持SQL调用的标签
对于一般的CMS用户,CMS系统默认的标签封装的越完整,使用越简单越受欢迎,但如果是个性化数据调用需求较多的用户,通常都会感觉系统内置的标签局限性太大,不够灵活,特别是懂PHP或MYSQL的站长朋友们,更希望能够很方便的直接通过SQL语句在模板中自由调用数据库中的各种数据,
我对PHP和MYSQL不能算精通,但能算CMS的深度用户,很多时候去测试一款CMS时,都会考虑这款CMS是否支持直接在模板中通过SQL语句来读取CMS系统内的或者外部数据源的数据。很多时候,希望突破内置标签的局限性,灵活自由的以各种形式来调用CMS数据库中的数据,特别是不同程序间的数据整合调用时,支持SQL语句的标签能够省去很多麻烦。
那么本文中下面落叶对帝国CMS、PHPCMS及DEDECMS这三款CMS中的支持通过SQL语句直接调用数据的标签作一些对比分析。
1)帝国CMS中直接通过SQL语句调用数据的标签:
如显示栏目id为1的10条新闻表记录
[ecmsinfo]“select * from phome_ecms_news where classid=1 order by id desc limit 10”,10,30,0,24,1,0[/ecmsinfo]实际上帝国CMS中支持直接SQL语句调用数据的标签不止ecmsinfo这一个标签,所谓的灵动标签 (e:loop)、文字调用标签phomenews等。
我看到帝国CMS官方论坛有用户问过,帝国CMS的支持SQL语句的标签是否支持读取外部数据源,管理员WC的回复是只支持同一个数据库中的数据的读取,其实这个不难理解,实际是就帝国CMS的SQL数据调用功能不支持外部数据源的调用,因为如果是多套程序安装在同一个数据库下,那本身就可以当作同一套程序来处理数据,如同一数据库中安装了论坛 和帝国CMS,直接把论坛的数据表当作帝国CMS的自定义数据表来调用一样的道理。
帝国CMS的SQL标签的优点再于,SQL语句查询结果本身在标签内部作了处理,用户可以直接在标签中定义标题截取长度、是否显示栏目名称、时间格式化等,这些在PHPCMS及DEDECMS的类似标签中都是需要直接在标签的innertxt中自己作逻辑判断和调用函数处理的,这点对于普通用户还是比较方便的。毕竟,调用文章列表,要个性化的地方也就基本标题显示长度,时间显示格式,是否在前面显示栏目名及列表的模板样式,帝国这样的标签都可以很好的实现,够用了。
2)PHPCMS中的直接通过SQL语句调用数据的标签:GET标签
如带分页,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,带分页)
{get sql=“select * from phpcms_content where catid=1 and status=99 order by updatetime desc” rows=“10” page=“$page”}标题:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}
{/get}
在我看来GET标签是PHPCMS中好用的标签,要查询什么数据,直接写好SQL语句,使用GET标签,并且可定自定义是否分页,分页每页显示的条数,分页的URL规则等等,GET标签之间的内容为读取出来的数组变量,可直接使用PHP模板语法输出,亦可调用全局函数或PHP原生函数进行数据处理后输出,
整个处理过程很适合PHP程序员的思维。
GET标签的另一个优势是能够很方便的调用外部数据源,即其它程序的MYSQL数据库,并且不管是否在同一MYSQL中,不管是不在同一台服务器,只需要在PHPCMS后台数据源管理处添加外部数据源的主机如localhost或服务器IP,然后填写数据库名、数据库用户名及数据库密码,测试连接成功后,后面即可直接在模板中使用GET标签调用外部数据源。
get 标签调用外部数据示例(调用数据源为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):
{get dbsource=“bbs” sql=“select * from cdb_threads where fid=1 order by dateline desc” rows=“10”}主题:{str_cut($r[subject], 50)} URL:www.pmume.com/viewthread.php?tid={$r[tid]} 更新日期:{date('Y-m-d', $r[dateline])}
{/get}
这点是非常方便的,一个文章主站+论坛 ,然后直接在主站首页调用论坛中的帖子,使用GET标签,可以以任何想实现的方式来读取论坛数据库的帖子,而其它程序中则只能通过JS调用或者通过改程序来实现。
GET标签的优势还在于,如果是进行二次开发,新建一个abc.php页面,只需要引用PHPCMS的公共文件,即可直接使用PHPCMS的模板引擎,然后在模板目录下新建一个abc.html即可在模板中使用GET标签调用任何想调用的内容。
如果MYSQL数据库不在同一服务器,在PHPCMS后台填好数据库设置,然后在远程服务器的MY.INI文件中设置禁用域名DNS反向解析,然后使用GET标签远程调用,速度会和同一台服务器相差无几,跨服务器数据调用非常方便。
不过,我还不满足于此,还希望GET标签能直接调用其它类型的数据库数据,如SQL server中的数据,如果能实现这样,那跨语言平台整合那将非常方便了。如主站是PHPCMS的,论坛是.NET,这样如果GET标签也支持读SQL server中的数据,那真是无敌了。
3)DEDECMS中直接通过SQL语句调用数据的标签:SQL标签
如调用文章表中会员ID为1的会员发布的10条文章
{dede:sql sql='Select * from dede_archives where mid=1 limit 10'}[field:title/]
{/dede:sql}
从DEDECMS中SQL标签文档来看,该SQL标签直接使用SQL语句来调用简单的文章列表,还是非常方便的,处理好的innertxt也支持用 PHP函数处理后输出,这点和PHPCMS中挺像,但是貌似没有PHPCMS的GET标签强大,不支持分页,更不会支持分页的自定义URL格式。
当然,一般的用于侧边栏调用一些内置标签不方便实现的数据,够用了。
从这三款CMS的SQL标签来看,个人还是更喜欢PHPCMS的GET标签,而DEDECMS中的SQL标签也比较灵活够用,至于帝国CMS的标签的SQL语句查询,虽然他和DEDECMS的SQL标签功能相当,并且在帝国CMS体系内,支持SQL查询,也是一个非常不错的功能,但感觉上还是不太喜欢,可能根本问题,还是因为本身就对帝国CMS标签的处理方式有很大“偏见”吧。
篇9:织梦dedecms管理系统后台查找
有时在通过注射得到织梦程序的管理密码时,却发现找不到后台地址,。
这个时候大家可以尝试下在地址后面加上:
1、/include/dialog/select_media.php?f=form1.murl
2、/include/dialog/select_soft.php
但不一定通杀。。
以下为逍遥复仇整理的dede一些小问题,希望对大家有用:
DedeCmsV5.1 FreeSP1
访问target.com/include/dialog/select_soft.php?activepath=/include/FCKeditor可以跳转目录
跳转到根目录的方法为:
target.com/include/dialog/select_soft.php?activepath=/././././././././
而且DEDECMS在访问不存在的目录时会报错
如访问target.com/include/dialog/select_soft.php?activepath=/st0pst0pst0pst0pst0pst0pst0pst0p
DedeCMS V5.3.1和最新的DedeCMS V5.5正式版,发现这两个版本已经进行了处理,而且只会列出目录和一些允许显示的文件,PHP是不能显示了,爆路径是一样通用的
构造target.com/include/dialog/select_soft.php?activepath=/include/FCKeditor也可以浏览此目录下的文件,当然你也可以跳到别的目录,但长度一定要大于设置中的目录,
不过前提是你要登陆下才能利用,这个就显得有点鸡肋了
另外一些低版本的DEDECMS访问这个页面的时候会直接跳过登陆验证,直接显示,而且还可以用/././././././././掉到根目录去。不过这些版本的访问地址有些不同。
地址为target.com/require/dialog/select_soft.php?activepath=/././././././././
力建学院工程管理12-2班“寻访中国梦,展现正能量”暑期实践团队走访徐州