摘要
我们在制作DEDE模板时,常常需要使用上一级频道的栏目名称和频道链接。经过一番搜索,我们终于找到了一种实现方式:通过查询数据库获取上级栏目ID,再通过查询获取栏目名称和链接。这种方法让我们感到非常欣慰,因为它让我们的工作变得更加高效和便捷。
正文
我们在制做DEDE的模版的情况下常常必须采用启用上一级频道的栏目名称和频道连接,在网上找了一大堆方法,总算完成这一实际效果
方式以下:
<a href=”https://www.dkewl.com/course/{dede:field.typeid runphp=’yes'”} global $dsql ; $reid = $dsql->GetOne(“SELECT reid FROM dede_arctype where id=@me”); $reid = $reid[‘reid’]; $typename = $dsql->GetOne(“SELECT typedir FROM dede_arctype where id=$reid”); @me=str_replace(‘{cmspath}’,”,$typename[‘typedir’]);{/dede:field.typeid}” >{dede:field.typeid runphp=’yes'”} global $dsql ; $reid = $dsql->GetOne(“SELECT reid FROM dede_arctype where id=@me”); $reid = $reid[‘reid’]; $typename = $dsql->GetOne(“SELECT typename FROM dede_arctype where id=$reid”); @me=$typename[‘typename’];{/dede:field.typeid}</a>
在其中红色字体为频道连接启用,深蓝色字体样式为栏目名称启用
自然也有其他启用方法及方法,详细以下
启用当今频道的名字
{dede:field name=”typename”}
启用该顶尖频道栏目下全部子频道,row意味着启用5条
{dede:channel type=’son’ row=’5′} <a href=”https://www.dkewl.com/course/[field:typeurl/]”>[field:typename/]</a> {/dede:channel}
启用子频道的当今顶尖栏目名称
{dede:channel type=’top’}<a>[field:typename/]</a> {/dede:channel}
N级子频道启用最上级领导栏目名称
{dede:field name=’position’ runphp=’yes’}$tc=”-“; //分节符
$tw=$GLOBALS[‘cfg_list_symbol’]; //启用部位分节符
$tf=split($tw,@me); //转化成二维数组
$ta=1;$tk=trim($tf[$ta]);$tk=substr($tk,0,-2);@me=$tk; //取值给@me
{/dede:field}
N级子频道启用上级领导栏目名称
方式1:
{dede:field name=’position’ runphp=’yes’}$tc=”-“; //分节符
$tw=$GLOBALS[‘cfg_list_symbol’]; //启用部位分节符
$tf=split($tw,@me); //转化成二维数组
$ta=(count($tf)-3);$tk=trim($tf[$ta]);@me=$tk; //取值给@me
{/dede:field}
方式2:
<a href= {dede:field.typeid runphp=’yes'”} global $dsql ; $reid = $dsql->GetOne(“SELECT reid FROM dede_arctype where id=@me”); $reid = $reid[‘reid’]; $typename = $dsql->GetOne(“SELECT typedir FROM dede_arctype where id=$reid”); @me=str_replace(‘{cmspath}’,”,$typename[‘typedir’]);{/dede:field.typeid} >{dede:field.typeid runphp=’yes'”} global $dsql ; $reid = $dsql->GetOne(“SELECT reid FROM dede_arctype where id=@me”); $reid = $reid[‘reid’]; $typename = $dsql->GetOne(“SELECT typename FROM dede_arctype where id=$reid”); @me=$typename[‘typename’];{/dede:field.typeid}</a>
启用特定频道
{dede:type typeid=’频道id’} <a href=”https://www.dkewl.com/course/[field:typeurl/]”>[field:typename/]</a> {/dede:type}
DEDE菜单栏:标题-2级频道-1级频道-网站名称”款式表明
{dede:field name=’title’/}-{dede:field name=’position’ runphp=’yes’}$tc=”-“; //分节符
$tw=$GLOBALS[‘cfg_list_symbol’]; //启用部位分节符
@me=html2text(@me); //除去html标识
$tf=split($tw,@me); //转化成二维数组
for($ta=(count($tf)-2);$ta>=1;$ta–){ //循环系统取值给$tk
$tk.=trim($tf[$ta]).$tc;}$tk=substr($tk,0,-1);@me=$tk; //取值给@me
{/dede:field}-{dede:global name=’cfg_webname’/}
下边是启用顶尖栏目名称的方式:
方式一:
<span style=”font-size:14px;”>{dede:field.typeid runphp=’yes’}
$ID = @me;
$sql = “SELECT * FROM `dede_arctype` WHERE id=$ID”;
$query = mysql_query($sql);$row=mysql_fetch_array($query);
$relID = “$row[reid]“;
if($relID == 0) {@me = $row[typename];}
else{$sql = “SELECT `typename` FROM `dede_arctype` WHERE id=$relID”;
$query = mysql_query($sql);
$row=mysql_fetch_array($query);
@me = $row[typename];}
{/dede:field.typeid} </span>
关注不迷路
扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!
评论0