求dedecms文章内容页添加tags标签的方法是什么?谢谢
$dsql->SetQuery("Select aaid,atypeid,aimg_up,aimg_link,bid,bchannel,btypeid From dede_addonarticle a LEFT JOIN dede_archives b on btypeid=atypeid where bchannel=17 and atypeid=14 order by bid desc limit 0,5");
试试吧
方法和详细的操作步骤如下:
1、第一步,打开织梦Dedecms的主界面,直接找到“增加顶级栏目”选项并选择跳转,见下图,转到下面的步骤。
2、第二步,执行完上面的操作之后,进入新对话框,根据实际情况进行设置,见下图,转到下面的步骤。
3、第三步,执行完上面的操作之后,请单击“确定”按钮,见下图,转到下面的步骤。
4、第四步,执行完上面的操作之后,可以调用当前栏目的文章列表,见下图。这样,就解决了这个问题了。
Tag标签是web20的东西,相当于关键词。我们在使用dedecms的时候应该如何在文章内容页添加TAG标签功能呢Tag标签对于SEO帮助很大,具体修改方法有以下2种方法:
方法一:打开文章模板文件article_articlehtm;在{dede:fieldbody/}后面添加以下代码:
<div>
TAG标签:{dede:tag row='30' sort='new' getall='0'} <a href='[field:link/]'>[field:tag /]</a>{/dede:tag}
</div>
更新生成文档页,再查看效果。
方法二:织梦dedecms文章页调用Tag标签比较简单,1、找到文章模板在{dede:fieldbody/}后面加入{dede:fieldtags/}这个标签即可。但是织梦dedecms默认的Tag标签是没有链接的,接下来进行第二步。
2、给Tag标签加超链接
大家找到网站跟目录下的/include/helpers/archivehelperphp,找到120行左右。
if ( ! function_exists('GetTags'))
{
function GetTags($aid)
{
global $dsql;
$tags = '';
$query = "SELECT tag FROM `dede_taglist` WHERE aid='$aid' ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$tags = ($tags=='' $row['tag'] : ','$row['tag']);
}
return $tags;
}
}
替换成以下代码:
if ( ! function_exists('GetTags'))
{
function GetTags($aid)
{
global $dsql;
$tags = '';
$query = "SELECT tag FROM `dede_taglist` WHERE aid='$aid' ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$tags = ($tags=='' ''$row['tag']'': ',''
'$row['tag']''); }
return $tags;
}}
{dede:channel type='self' currentstyle="<a href=listphptid='field:id'>~typename~</a>"}
<a href="listphptid=[field:id/]">[field:typename/]</a>
{/dede:channel}
不知道是不是你要的效果。
将以下函数放入include/extendfuncphp
//统计栏目文章数function GetTotalArc($tid){
global $dsql;
$sql = GetSonIds($tid);
$row = $dsql->GetOne("Select count(id) as dd From `#@__archives` where typeid
in({$sql})");
return $row['dd'];
}
//统计当前栏目信息数
function dynamic_num($current_id){
global $dsql;
//读取当前栏目的子ID
$sql = "SELECT id FROM `#@__arctype` WHERE id='$current_id' ||
topid='$current_id'";
$dsql->SetQuery($sql);
$dsql->Execute();
while($row = $dsql->GetArray()){
$arr[]=$row[id];
}
foreach($arr as $key=>$value){
$type = $value ',';
}
$ty= ""$type"0";
//echo $ty;
$t_num = $dsql->GetOne("select count() as num from `#@__archives` where typeid
in($ty)");
//echo $t_num[num];
if(is_array($t_num)){
return " "$t_num[num]" ";
}else{
return "0" ;
}
}
模板中使用以下标签调用:
{dede:field name=’typename’/}</b>(此栏目共{dede:type}[field:idfunction="dynamic_num(@me)" /]{/dede:type}条记录)
{dede:channel type=’son’ }
<li><a href=’[field:typelink/]‘>[field:typename/]</a>(<span>[field:ID
runphp='yes'] @me = GetTotalArc(@me);[/field:ID]</span>)</li>
{/dede:channel}
以上代码是两个函数,一个统计栏目文章数,另一个统计当前栏目信息数。
在\dede\include\extendfuncphp文件中添加如下函数:
function getArticleList($category=0,$order="",$limit="0,200"){
global $dsql;
$query = "SELECT arc,tptypedir,tptypename,tpcorank,tpisdefault,tpdefaultname,tpnamerule,
tpnamerule2,tpispart,tpmoresite,tpsiteurl,tpsitepath
FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp on arctypeid=tpid
where tpid=$category";
//此sql语句我只加了where判断文章所属分类
//其他的order limit 你根据需要自己添加
$dsql->SetQuery($query);
$dsql->Execute('lit');
$arr = array();
$cnt = 0;
$str = "";
while ($row = $dsql->GetArray('lit')) {
if($cnt%4 == 0){
$str = "<div class='css1'>";
}
if($cnt%4 > 0){
$class = "css3";
}else{
$class = "css2";
}
$str = "<span class='"$class"'>"$row['title']"</span>";
$cnt++;
if($cnt%4 == 0){
$str = "</div>";
}
//$row中可用的常用字段如下:$row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'], row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']
}
return $str;
}
然后在模板中使用
{dede:field name='typeid' function="getArticleList(@me)" /}
将分类的id传给此函数就可以调用到数据,输出就是你要的格式。
输出内容你修改下php文件,常用字段都给你写在注释里了。
如果可以请也将我昨天给你回答的采纳一下。
调用顶级栏目标签:{dede:channel row='20' type ='top' }{/dede:channel}
调用子栏目{dede:channel row='20' type ='son' typeid ='1' }{/dede:channel}
栏目名称[field:typename/]
栏目链接[field:typelink/]
dede:
是织梦内容管理系统dedecms的简称, 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,系统作者仅有一人,却做出如此功能的cms。最新的版本无论在功能,还是易用性方面,都有了长足的发展。DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用本系统。dede织梦内容管理系统(DedeCms)基于PHP+MySQL的技术架构,完全开源加上强大稳定的技术架构,使你无论是打算做个小型网站,还是想让网站在不断壮大后系仍能得到随意扩充都有充分的保证。
DedeCMS最适合应用于以下领域:
企业网站,无论大型还是中小型企业,利用网络传递信息在一定程度上提高了办事的效率,提高企业的竞争力;
政府机关,通过建立政府门户,有利于各种信息和资源的整合,为政府和社会公众之间加强联系和沟通,从而使政府可以更快、更便捷、更有效开展工作;
教育机构,通过网络信息的引入,使得教育机构之间及教育机构内部和教育者之间进行信息传递,全面提升教育类网站的层面;
媒体机构,互联网这种新媒体已经强而有力的冲击了传统媒体,在这个演变过程中,各类媒体机构应对自己核心有一个重新认识和重新发展的过程,建立一个数字技术平台以适应数字化时代的需求;
行业网站,针对不同行业,强化内部的信息划分,体现行业的特色,网站含有行业的动态信息、产品、市场、技术、人才等信息,树立行业信息权威形象,为行业内产品供应链管理,提供实际的商业机会;
个人站长,兴趣为主导,建立各种题材新颖,内容丰富的网站,通过共同兴趣的信息交流,可让您形成自己具有特色的用户圈,产生个人需求,并为其服务,个人用户完全免费使用;
收费网站,内容收费类型的网站,用户可以在线提供产品销售,或者内容收费,简单清晰的盈利模式,确保您以最小的投资,取得最大的回报。
可以这么用<php echo $val >
{dede:sql sql="SELECT FROM shop_room where shopid="<php echo $shopid>" ORDER BY `sort_id`"}
{/dede:sql}
0条评论