织梦后台添加子栏目,但是前台显示不出来
一、修改文件include/taglib/channellibphp,把
DEDE模板
$attlist =
"typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|";
修改成
$attlist =
"typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|,line|1";
//|后面的1,代表初始值
第二、在第9行附近追加如下代码:
//默认属性里设置的行数 $default_line =
$ctag->CAttribute->Items["line"];
第三、把下面代码
$row['sonids'] = $row['rel'] = '';
修改成
$row['sonids'] = $row['rel'] = ''; $row['line'] =
$default_line+$i;
最后,特别要注意的是,如果要使用currentstyle样式,即当前栏目样式,则必修将刚才的"line"字段,追加到下面代码后面
本文来自织梦模板团
$linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr); $linkOkstr =
str_replace("~id~",$row['id'],$linkOkstr); $linkOkstr =
str_replace("~typelink~",$row['typelink'],$linkOkstr); $linkOkstr =
str_replace("~typename~",$row['typename'],$linkOkstr); $linkOkstr =
str_replace("~line~",$row['line'],$linkOkstr);
好了,以上就是怎么给织梦dedecms栏目导航{dede:channel}标签添加序号,希望对大家修改织梦dedecms有所帮助。
在DEDECMS中,我们会发现导航代码中有一个[field:rel/],这个标签是导航栏中用来显示下级菜单栏目。
1、核心--频道模型--联动类别管理 看下有没有nativeplace这个类别 如果有进行下一步 如果没有新建一个
2、核心--频道模型--内容模型管理--普通文章 点击修改添加自定义字段 字段名称nativeplace
数据类型选择联动类型
这样就可以在发布文章的时候选择地区了
前台子菜单没有显示,一般都是你的标签不正确的。
正确的标签的是:
{dede:channelartlist typeid='top' typeid='1,2,3,4,5,6' row='6' orderby='sortrank'}
<li> <a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>//一级菜单显示
<ul>
{dede:channel row='15' type='son'}
<li><a href='[field:typelink/]'>[field:typename/]</a></li>//二级菜单显示
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
相应的解释如下:
{dede:channelartlist typeid='top' typeid='1,2,3,4,5,6' row='6' orderby='sortrank'}
<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
{/dede:channelartlist}
是显示ID分别为1,2,3,4,5,6的顶级栏目
{dede:channel row='15' type='son'}
<li><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
这是显示相应顶级栏目下的二级栏目,row='15' 表示显示最多15个
你果你还有不懂的地方,你可以在线联系我Q:1606083272
一、首先打开登陆后台的界面。输入用户名,密码及验证码。
二、登陆网站后台后,左侧会有七个大栏目,分别为:核心、模块、生成、采集、会员、模板、系统。点击系统,选择系统基本参数。
三、或者,在后台左上方,有灰色的字,隐藏菜单和功能地图两个项目,点击功能地图。系统设置里面也有系统基本参数。
四、点击系统基本参数进入。会显示一个界面五、系统基本参数里面有“网站名称”“站点默认关键字”“站点描述这三项”在这三项中填写网站标题,关键词,描述点击确定即可。六、点击生成,选择更新网站主页即可。网站标题,关键词,描述在网站首页就会显示。修改网站这三个标签操作和添加的流程也是相同的。
1、首先使用浏览器进入dedecms网站,登录到DEDECMS后台。
2、接着依次点击左侧功能菜单中的“模板”>>“默认模板管理”。
3、在模板列表找到要修改的模板,例如“文章频道封面”模板,点击“修改”。
4、然后在模板文件中找到下图所示代码,将此段代码修改为:{dede:arclist row='5' type='image'}。
5、最后保存模板编辑并更新,更新完成,就可以在文章详情页调用和修改购物车了。
一、修改文件:\include\taglib目录下的channellibphp,请将以下代码全部复制替换上述文件
<phpfunction lib_channel(&$ctag,&$refObj)
{
global $_sys_globals,$envs,$dsql;
$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|";
FillAttsDefault($ctag->CAttribute->Items,$attlist);
extract($ctag->CAttribute->Items, EXTR_SKIP);
$innertext = $ctag->GetInnerText();
$cacheid = trim($cacheid);
if($cacheid !='') {
$likeType = GetCacheBlock($cacheid);
if($likeType != '') return $likeType;
}
$reid = 0;
$topid = 0;
if(empty($typeid) && $envs['typeid']!=0)
{
$typeid = $envs['typeid'];
$reid = $envs['reid'];
}else{
$reid=0;
}
if($type==''||$type=='sun') $type="son";
if($innertext=='') $innertext = GetSysTemplets("channel_listhtm");
if($reid==0 && $typeid>0)
{
$dbrow = $dsql->GetOne("Select reid From dede_arctype where id='$typeid' ");
if(is_array($dbrow)) $reid = $dbrow['reid'];
}
$likeType = '';
if($type=='top')
{
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From dede_arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row";
}
else if($type=="son")
{
//if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];
if($typeid==0) {
return '';
}
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From dede_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";
}
else if($type=="self")
{
if($reid==0) {
return '';
}
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";
}
//And id<>'$typeid'
$needRel = false;
$dtp2 = new DedeTagParse();
$dtp2->SetNameSpace("field","[","]");
$dtp2->LoadSource($innertext);
$dsql2 = clone $dsql;
$dsql->SetQuery($sql);
$dsql->Execute();
$line = $row;
//检查是否有子栏目,并返回rel提示(用于二级菜单)
if(ereg(':rel', $innertext)) $needRel = true;
if(empty($sql)) return '';
$dsql->SetQuery($sql);
$dsql->Execute();
$totalRow = $dsql->GetTotalRow();
$GLOBALS['autoindex'] = 0;
for($i=0;$i < $line;$i++)
{
if($col>1) $likeType = "<dl>\r\n";
for($j=0;$j<$col;$j++)
{
if($col>1) $likeType = "<dd>\r\n";
if($row=$dsql->GetArray())
{
$row['sonids'] = $row['rel'] = '';
if($needRel)
{
$row['sonids'] = GetSonIds($row['id'], 0, false);
if($row['sonids']=='') $row['rel'] = '';
else $row['rel'] = " rel='dropmenu{$row['id']}'";
}
//处理同级栏目中,当前栏目的样式
if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )
{
if($currentstyle!='')
{
$linkOkstr = $currentstyle;
$row['typelink'] = GetOneTypeUrlA($row);
$linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr);
$linkOkstr = str_replace("~id~",$row['id'],$linkOkstr);
$linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr);
$linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
$likeType = $linkOkstr;
}
}else
{
$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
if(is_array($dtp2->CTags))
{
foreach($dtp2->CTags as $tagid=>$ctag){
if(isset($row[$ctag->GetName()]))
{
$dtp2->Assign($tagid,$row[$ctag->GetName()]);
}
elseif (preg_match('/^sonchannel[0-9]$/',$ctag->GetName()))
{
$dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));
}
}
}
$likeType = $dtp2->GetResult();
}
}
if($col>1) $likeType = "</dd>\r\n";
$GLOBALS['autoindex']++;
}//Loop Col
if($col>1)
{
$i += $col - 1;
$likeType = " </dl>\r\n";
}
}//Loop for $i
reset($dsql2);
$dsql->FreeResult();
return $likeType;
}
function lib_channel_son($ctag,$typeid = 0,$dsql2)
{
$attlist = "row|100,col|1,currentstyle|";
FillAttsDefault($ctag->CAttribute->Items,$attlist);
extract($ctag->CAttribute->Items, EXTR_SKIP);
$innertext = $ctag->GetInnerText();
$dsql3 = clone $dsql2;
$likeType = '';
//if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];
if($typeid==0) {
return '';
}
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From dede_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";
//And id<>'$typeid'
$dtp2 = new DedeTagParse();
$dtp2->SetNameSpace("field","[","]");
$dtp2->LoadSource($innertext);
$dsql2->SetQuery($sql);
$dsql2->Execute();
$line = $row;
for($i=0;$i < $line;$i++)
{
if($col>1) $likeType = "<dl>\r\n";
for($j=0;$j<$col;$j++)
{
if($col>1) $likeType = "<dd>\r\n";
if($row=$dsql2->GetArray())
{
$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
if(is_array($dtp2->CTags))
{
foreach($dtp2->CTags as $tagid=>$ctag){
if(isset($row[$ctag->GetName()]))
{
$dtp2->Assign($tagid,$row[$ctag->GetName()]);
}
elseif (preg_match('/^sonchannel[0-9]$/',$ctag->GetName()))
{
$dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3));
}
}
}
$likeType = $dtp2->GetResult();
}
if($col>1) $likeType = "</dd>\r\n";
}//Loop Col
if($col>1)
{
$i += $col - 1;
$likeType = " </dl>\r\n";
}
}//Loop for $i
reset($dsql3);
$dsql2->FreeResult();
return $likeType;
}
>
在模板调用实例:
{dede:channel type='son' typeid='3'}[field:typename/]
<ul>
[field:sonchannel0]
<li><a href="[field:typelink/]">[field:typename/]</a></li>
[field:sonchannel1]
<li><a href="[field:typelink/]">---[field:typename/]</a></li>
[field:sonchannel2]
<li><a href="[field:typelink/]">===[field:typename/]</a></li>
[field:sonchannel3]
<li><a href="[field:typelink/]">===[field:typename/]</a></li>
[/field:sonchannel3]
[/field:sonchannel2]
[/field:sonchannel1]
[/field:sonchannel0]
</ul>
{/dede:channel}
0条评论