织梦dedecms子栏目获取顶级栏目名称和链接方法
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!
dedecms5.7获取顶级栏目名称的标签
下面是调用顶级栏目名称的方法:
方法一:
这个方法语句有些长。
方法二:
方法三:
方法四(推荐):
打开include/helpers/extend.helper.php,添加一个函数:
if ( ! function_exists(‘getTopChannelName’))
{
function getTopChannelName($id) {
global $dsql;
$typeinfo=$dsql->GetOne(“SELECT * FROM `dede_arctype` WHERE id='{$id}'”);
if($typeinfo[‘reid’]==0) return $typeinfo[‘typename’];
else return getTopChannelName($typeinfo[‘reid’]);
}
}
在列表页这么使用:{dede:field name=’id’ function=’getTopChannelName(@me)’/}
在内容页这么使用:{dede:field name=’typeid’ function=’getTopChannelName(@me)’/}
附带获取顶级栏目的url:
打开include/helpers/extend.helper.php,添加一个函数:
if ( ! function_exists(‘getTopChannelUrl’))
{
function getTopChannelUrl($id) {
global $dsql;
$typeinfo=$dsql->GetOne(“SELECT * FROM `dede_arctype` WHERE id='{$id}'”);
if($typeinfo[‘reid’]==0) return GetOneTypeUrlA($typeinfo);
else return getTopChannelUrl($typeinfo[‘reid’]);
}
}
使用方法同上。
最新的织梦版本(2018-01-09)修改了include文件夹中的common.func.php,增加了两个函数。
下载的模板文件夹中如果提供了common.func.php文件,很有可能没有这两个函数,于是会造成错误。
需要将这两个函数的代码粘贴到/include/common.func.php文件中,代码如下:
/**将以上代码粘贴到
* 载入小助手,系统默认载入小助手
这段代码的上方即可。
dede如何控制隐藏栏目的显示与调用
许多时候有些栏目想在某些页面隐藏,在另外一些页面显示,怎么办?
貌似,织梦的channel标签不能获取隐藏的栏目,于是我自己动手修改channel标签
首先找到include/taglib/channel.lib.php
1.
$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|,showhide|no”;
2.
在这两句下
$innertext=$ctag->GetInnerText();
$line=empty($row) ? 100 : $row;
增加:
3.
修改为:
在做表单验证提交的时候,发现提交不了,检查代码没错,后来才知道原来是提交按钮的id不能设为submit,改成其他的就ok了。