dedecms中dede:global dede field分别是什么意思?有何区别?系统基本参数和DEDE标签是否一样?
{dede:globalcfg_templets_skin/}是全局标签,才可以全局通用,你想调用的栏目id的标签,没有这样的全局标签,要想实现你的说的输入栏目id找到所在的子目录,可以使用dede:channel标签进行调用。具体参考dede:channel标签调用的文章如下:http://wwwnoniucom/biaoqian/197html
打开include/commonfuncphp文件
在最后的>之前加上
//统计栏目文章数
function GetTotalArc($tid){
global $dsql;
$sql = GetSonIds($tid);
$row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})");
return $row['dd'];
}
然后就可以在模板上用
{dede:channel type='son' row='20'}
<dl><a href='[field:typelink/]'>[field:typename/]</a>(<span>[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]) </dl>
{/dede:channel} 进行调用,[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]这个就是调用的总数
dede:global ,dede field标签一样的。
区别:
{dede:fieldtitle}:
一般是在文章页调用的标题标签,显示文章的标题,全局都可以使用。 这个标签通常用在页面的head中。
基本语法:
<head><title>{dede:fieldtitle}</title></head>。
dede:global :
是全局变量 例如后台基本参数中的站点根网址,{field:title/] :是列表页底层模板标签,需要配合{dede:list}{/dede:list}或者{dede:arclist}{/dede:arclist}一起使用。
基本语法:
{dede:list pagesize="10"}
<li>[<b>[field:typelink/]</b>]<a href="[field:arcurl/]" >[field:title/]</a></li>
{/dede:list}
扩展资料:
Field类
获得Field
1、Field[] fs=cgetFields();
//获得公有属性(只能是公有的)//可以是父类的公有的属性
2、Field[] fs2=cgetDeclaredFields();
//获得所有属性(全部类型的修饰符属性均可获得)
3、Field fs3=cgetField(String FieldName);
//获得指定名字的公有属性(只能是公有的)
4、Field fs4=cgetDeclaredField(String FieldName);
//获得指定名字的属性(全部类型的修饰符的属性中指定名字)
你标签用错了,不是用typename,再说这个也不是用在这里的,应该用type标签,type具体用法是:
功能说明:表示指定的单个栏目的链接
适用范围:全局使用
基本语法:
{dede:type}
{dede:globalcfg_keywords/}这是网站默认关键字,这个是从数据库调用出来的,不存在哪个文件,这是文章里面的,如果是首页的话,那就是在基本设置那地方调过来的,具体看下图:
如果是栏目页的话,那就是在后台栏目修改的高级选项里面有:
如果是文章页的话,那就是在文章修改或者发布页面那就有的,你设置不自动提取的话,你不填写是不会有关键字的:
发文章的时候的话,那就直接在页面就有关键字这项了,这是文章修改的页面!
所有的这项都是存在数据库里面,然后从数据库调用出来的!
在\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文件,常用字段都给你写在注释里了。
如果可以请也将我昨天给你回答的采纳一下。
网站模板库 » dedecms中dede:global dede field分别是什么意思?有何区别?系统基本参数和DEDE标签是否一样?
0条评论