dedecms调用二级栏目 上传的图片命名规则加上顶级栏目ID和文档ID 怎么写啊

织梦有顶级栏目id怎么使用它调用顶级栏目名称_百度知道
织梦有顶级栏目id怎么使用它调用顶级栏目名称
能够用{dede:type}[field:topid/]{/dede:type}调用出顶级栏目,但要怎么使用这个topid来调用顶级栏目的名称呢?
提问者采纳
[field:typename/]名称[field:typelink/]链接
这个是调用当前栏目的
你的问题能再详细点吗,不就是通过栏目ID调用栏目名称吗,{dede:type typeid='栏目ID'}[field:typename/]{/dede:type}不就是调用栏目名称吗。
是这样的 通过修改php在field里能使用field:topid调用到子栏目的顶级栏目
而不能使用{dede:type typeid='topid'}[field:typename/]{/dede:type}来调用 不是具体指定后台的id而是能够自动化获得顶级栏目id赋值给topid然后利用这个id找到顶级栏目的名称
我使用过sql来查询
不过效果不理想 因为顶级栏目的topid=0
而显然顶级栏目不能根据id=0得到顶级栏目的名称
在列表页可以这么得到顶级栏目名称{dede:field.title runphp='yes'}
if(!strstr(@me,'/')) {
$sec=explode('/',@me);
@me=$sec[0];
{/dede:field.title}其他页面我还没有尝试过,不知道你希望在什么页面模板里调用
可以呢 高手啊
你知道怎么做顶级栏目下二级三级菜单吗
就是顶级栏目下有二级跟三级菜单 不只一个顶级有 几个顶级 自动生成二级三级菜单用一个模板 在三级也能显示顶级菜单下二三级菜单
本来我以为有field.topid应该够了 可是调来调去 发现没法利用这个topid 真是菜鸟啊
这个还真没有做过,有空大家可以一起研究一下,你可以先上织梦的论坛先看看有没有答案,从理论的角度上说肯定是可以做到的。
&ul&{dede:channelartlist typeid=5}&li&&a href=&{dede:field name='typeurl'/}&&{dede:field name='typename'/}&/a&{dede:sql sql='Select * from dede_arctype where reid=~id~ ORDER BY sortrank'}&ul&&li&&a href='[field:typedir function='str_replace(&{cmspath}&,&&,@me)'/]'&[field:typename/]&/a&&/li&&/ul&{/dede:sql}&/li&{/dede:channelartlist}&/ul&你看看 用顶级id先列出二级 再用sql列出3级
这个可以吗?织梦文档不是说过:channelartlist只能够嵌套type和arclist标签吗?我QQ:加我,大家一起探讨。
其他类似问题
为您推荐:
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁怎么在{dede:arclist&&调用顶级栏目的id|DedeCMS 安装使用 - DedeCMS网站内容管理系统官方论坛 - Powered by phpwind
查看完整版本: [--
怎么在{dede:arclist&&调用顶级栏目的id
{dede:arclist orderby=rand typeid='1,2,3'&&row='10' titlelen='120'}&&&&&&&&&&&&&&&&&&&li class=&type[field:typeid /]&&&a&&href=&[field:arcurl/]& target=&_blank&&[field:title /]&/a&&span&[field:pubdate function=&MyDate('m-d',@me)&/]&/span&&/li&&&&&&&&&&&&&&&&&&&{/dede:arclist}就是要在li那里加个顶级栏目的id&&typeid调用的是栏目的id topid无效....
正在学习阶段啊
写句循环就可以了
这个还不简单。。includes/tablib/arclist.lbi.php中SQL中检索tp.type_id,PHP的循环中$row['typeid'] = $row['typeid'];arclist调用[field:typeid/]
查看完整版本: [--
Powered by
Gzip enabled简单,DEDECMS自定义读取当前栏目的上级栏目名称和连接_岑溪网站开发工作室
简单,DEDECMS自定义读取当前栏目的上级栏目名称和连接
发表时间: 01:29 来源:未知 分类:CMS相关 作者:岑溪网站开发 点击:次
超级简单,简单,DEDECMS自定义读取当前栏目的上级栏目名称和连接!
& 在二次开发过程中,我们经常会遇到要读取当前栏目的上级栏目名称或连接,一般,上级栏目名称是可以直接使用{dede:field name='typename' /} 直接取到
&& 但是,如果要获取上样栏目的连接就不行了,又或者多级栏目,也是不行的,所以岑溪网站开发工作室在对DEDECMS二次开发过程中,记录了读取当前栏目的上级栏目的方法
#################自定义读取DEDECMS当前栏目的上级栏目列表##################
{dede:field.typeid runphp='yes'&}
&& global $
&& $reid = $dsql-&GetOne(&SELECT reid FROM dede_arctype where &);
&& $reid = $reid['reid'];
&& $typename = $dsql-&GetOne(&SELECT typename FROM dede_arctype where id=$reid&);
&& @me=$typename['typename'];
{/dede:field.typeid}
&这样读取到上级栏目的名称,测试正常.....
& 小小修改,就可以读取一以连接啦
{dede:field.typeid runphp='yes'&}
&& global $
&& $reid = $dsql-&GetOne(&SELECT reid FROM dede_arctype where &);
&& $reid = $reid['reid'];
&& $typename = $dsql-&GetOne(&SELECT typedir FROM dede_arctype where id=$reid&);
&& @me='&li&&a href=&'.str_replace('{cmspath}','',$typename['typedir']).'&&'.$typename['typename'].'&/a&&/li&';
{/dede:field.typeid}
& 这样读出来就是一个连接...
&&& 这样你可以自由的发展DEDECMS的二次开发了!&&
与CMS相关相关的文章:
岑溪网站二次开发
CMS相关年热门榜
CMS相关年推荐榜
岑溪网站开发工作室为企业|个人网站提供定制服务 手机: 接单QQ394781 QQ
Copyright & 2013-
技术:广西岑溪市网站开发工作室织梦dedecms子栏目获取顶级栏目ID
时间: 17:20
来源: 芝麻通网
阅读量:次
dede模板调用PHP语句,这一般来说不是我习惯用的办法,那怎么办呢?修改源文件吧。如何修改?看下面的方法!
首先,在所需要调用顶级栏目ID的地方,添加这段标签语法{dede:type}[feild:topid/]{/dede:type}
第二,修改源文件,找到include目录下的taglib目录下的type.lib.php。
找到这条语句
$row = $dsql-&GetOne(&Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where id=&$typeid& &);
$row = $dsql-&GetOne(&Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where id=&$typeid& &);
在if(!is_array($row)) return &;下一行添加
if( $row['topid']==0){$row['topid']=$row['id'];}
在模板页面调用的时候注意使用英文输入!
Copyright &
芝麻通网 Corporation, All Rights Reserved
地址:中国? 河南 郑州市金水区花园北路居易国际3号楼921室(450003)
热线:(20500引领最快、最时尚的前沿信息|山无棱,天地合。乃敢与君决
dedecms调用文章上级栏目名字和链接的方法
有时候,我们需要在侧面栏调用的上级栏目的名称和,现在没有自带了,那么我们应该怎么调用了?
1、直接用sql语句调用栏目名称和链接:
{dede:type}
[field:id runphp=yes]
$tsql = new DedeSql(false);
$typelink2 = '';
$tsql-&SetQuery(&Select i.typedir,i.id,i.typename From dede_arctype t left join dede_arctype i on i.id=t.reid where t.id='@me'&);
$tsql-&Execute('t');
while($row = $tsql-&GetArray('t',MYSQL_ASSOC))
$typelink2 .= &&a href='list.php?tid=&.$row['id'].&'&&.$row['typename'].&&/a&&;
@me=$typelink2;
[/field:id]
{/dede:type}
{dede:type}
[field:id runphp=yes]
$tsql = new DedeSql(false);
$typelink2 = '';
$tsql-&SetQuery(&Select i.typedir,i.id,i.typename From dede_arctype t left join dede_arctype i on i.id=t.reid where t.id='@me'&);
$tsql-&Execute('t');
while($row = $tsql-&GetArray('t',MYSQL_ASSOC))
$typelink2 .= &&a href='&.$row['typedir'].&'&&.$row['typename'].&&/a&&;
@me=str_replace(&{cmspath}&,&&,$typelink2);
[/field:id]
{/dede:type}
2、用方法调用标签直接调用栏目名称和链接:
大家首先找到include/taglib/channel.lib.php文件,找到59行,代码如下:
else if($type=='self')
if($reid==0) return '';
$sql = &Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where reid='$reid' And ishidden&&1 order by sortrank asc limit 0, $line &;
} 在后面加入下面代码
else if($type=='parent')
//新增代码 获得上级栏目
$sql=&Select id,typename,typedir,isdefault,ispart,
defaultname,namerule2,moresite,siteurl From dede_arctype where
reid='$topid' And ishidden&&1 order by sortrank asc limit 0,$line&;
继续找到下面代码:
//处理同级栏目中,当前栏目的样式
if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) &&
//处理同级栏目中,当前栏目的样式
if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top')
|| ($row['id']==$reid && $type=='parent' )) && $currentstyle!='' )
好了现在有两个方法来修改dedecms文章调用栏目的名称和链接,个人比较喜欢第二种方法。呵呵。
本文固定链接:
【上一篇】【下一篇】
您可能还会对这些文章感兴趣!

我要回帖

更多关于 dedecms调用指定栏目 的文章

 

随机推荐