1. PrintAutoFieldsAdd 载入自定义表单(用于发布):
文件:inc/inc_archives_function.php
行号:472
函数声明:function PrintAutoFieldsAdd(&$fieldset,$loadtype=’all’)
参数:
$fieldset:自定义模型的字段集合
$loadtype:价值类型有两种:all ,autofield;autofield
功能说明:
发布自定义模型界面调用时,拼装自定义模型的表单。
2. DedeTagParse Dede织梦模板类
文件:include\dedetag.class.php
行号:70
类声明:class DedeTagParse
方法:
LoadSource($str):载入模板字符串,调用data/tplcache/MD5($str).inc的模板文件,然后调用LoadTemplate()方法解析模板
LoadTemplate($filename):载入模板文件 然后调用ParseTemplet()解析模板
ParseTemplet():解析模板
3. 模板列表调用内容模型格式数据写法:
{dede:arclist channelid=’18’ addfields=’xuebu,course_author’}
{/dede:arclist}
说明:
Channelid:内容模型管理中的ID号
AddFields:定义的字段名,需要在内容模型管理中的“列表附加字段”中添加
4. 自定义联动类别信息的调用方法:
1)函数编写
打开 /include/extend.func.php 文件(注:本文件为自定义函数接口文件,若不存在,请自行创建),在最后一行的?>上添加如下代码:
function Getsysenum($fields,$egroup){
global $dSQL;
$row = $dsql->GetOne(“select * from dede_sys_enum where evalue = ‘”.$fields.”‘and egroup=’”.$egroup. “’”);
if(!is_array($row)){
return “联动类别不存在“;
}
else{
return $row[‘ename’];
}
}
保存关闭即可!
2)函数调用
这个函数的调用非常简单,只需要将“枚举值”传递过来即可,这个缓存组名通常也就是内容模型中的自定义联动菜单字段名:
function Getsysenum(‘枚举值’,’联动组名’);
3)调用实例
我们来看一下调用的实例代码:
{dede:arclist titlelen=’60’ row=’8′ channelid=’1′ addfields=’nativeplace’}
[field:title /]
{/dede:arclist}
其中[field:nativeplace function=”Getsysenum(@me,’ nativeplace’)”/] 就是将nativeplace字段进行Getsysenum函数处理。
5. 联动类别信息存储表dede_sys_enum:
字段 类型 长度 是否主键 描述
ID Smallint 6 是
Ename Char 30 分类名称
Evalue Smallint 6 分类ID
Egroup Char 20 分组名称
Disorder Smallint 5 排列顺序
Issign Tinyint 1 是否系统1=系统 0=非系统
6. 扩展函数编写文件/include/extend.func.php:
通过上面的扩展查询分类的函数可见可以自定义扩展函数在/include/extend.func.php文件中,用于标签中进行调用,
于是编写了扩展函数查询给定分类组合的,一级分类信息的扩展数:
Function GetSysEnum($egroup,$level)
global $dSQL;
$row = $dsql->GetOne(“select ename from dede_sys_enum where evalue like ‘%”.$level.”‘and egroup=’”.$egroup. “’”);
if(!is_array($row)){
return “联动类别不存在“;
}
else{
return $row[‘ename’];
调用方式:
Function=’GetSysEnum(‘xuebu’,’0’)’