DEDECMS栏目页内容页调用上级栏目名称和链接
如遇下载链接蓝奏网盘打不开lanzous替换成lanzoux尝试! 广告
制作DEDE模板的时候经常需要用到调用上一级栏目的栏目名称和栏目链接,网上找了一大堆办法,终于实现这个效果
方法如下:
<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:field name=”typename”}
调用该顶级频道下所有子栏目,row代表调用5条
{dede:channel type=’son’ row=’5′} <a href=”[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=”[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’/}
下面是调用顶级栏目名称的方法:
{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}
NOTICE:【咨询风格酷】客服微信:wwwxmamnet
NOTICE:【风格酷模板网②群】QQ群:288678775
☉免责声明:本站所有模板均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。
☉如果源码网盘地址失效!或有其他问题,请点我报错,谢谢合作!
☉人民币与积分汇率为1比10,即1元=10积分.有任何疑问请联系客服!
☉如有其他问题,请加网站客服QQ(1131734965)进行交流。
☉本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
☉源码、模板等资源会随着技术、环境的升级而存在部分问题,还请慎重选择。