2009-11-04 11:13
自定义模型调用地区和行业
需要在自定义模型里面调用地区和行业,在论坛里搜索了很久发现都没有人能给出一个解决方案,只能自救了。下面把自己的体会拿出来与大家切磋一下,希望能抛砖引玉,让dede发展得的更好。
行动开始了:
1、理清思路。我们所要调用的地区和行业只在系统模型-分类信息里面有,是不是分类信息的数据库与其它模型的数据库不一样呢?通过比较分类信息和其他模型的主索引表,我们可以发现数据结构都是一样的,附加表里面又没有包括地区或者行业相关的字段,说明能否调用成功与数据库无关,应该是程序代码层面的东东。通过观察发现“dede”目录、“dede/templets"目录、“dede/action”目录下info_add.php、info_edit.php、info_add.htm、info_edit.htm、info_add_action.php、info_edit_action.php,这些文件与分类信息密切相关,估计就是他们其中的一个或者一些在起作用,需要作为重点研究对象。
2、自定义模型。新增一个模型,在操作时需要建立主索引表、附加表,以及选择档案发布、修改、管理程序,这些都是系统默认的,而在分类信息模型里面有几个是不一样的,影响调用的就是这几个文件了。复制系统默认archive_add.php、archive_edit.php为abc_add.php、abc_edit.php,作为新增模型的档案发布、修改程序(要对程序进行修改,不能使用系统默认程序)。
3、程序修改。比较abc_add.php与info_add.php、abc_edit.php与info_add.php,info的文件里面多了几个写入数据库的字段,观察数据表得知,增加的字段即为我们要调用的地区和行业。后面的步骤就是把info文件里面增加的与地区和行业有关的字段转移到abc文件里面去,这里需要注意的是我们要相应修改dede/templets目录下的模板文件abc_add.htm(即原来的archive_add.htm)、abc_edit.htm(原来的archive_edit.htm)以及“dede/action”目录下的abc_add_action.php(原来的archive_add_action.php)、abc_edit_action.php(原来的archive_edit_action.php)。
以上三步完成之后,即可在新模型中调用地区和行业进行信息发布了。
行动开始了:
1、理清思路。我们所要调用的地区和行业只在系统模型-分类信息里面有,是不是分类信息的数据库与其它模型的数据库不一样呢?通过比较分类信息和其他模型的主索引表,我们可以发现数据结构都是一样的,附加表里面又没有包括地区或者行业相关的字段,说明能否调用成功与数据库无关,应该是程序代码层面的东东。通过观察发现“dede”目录、“dede/templets"目录、“dede/action”目录下info_add.php、info_edit.php、info_add.htm、info_edit.htm、info_add_action.php、info_edit_action.php,这些文件与分类信息密切相关,估计就是他们其中的一个或者一些在起作用,需要作为重点研究对象。
2、自定义模型。新增一个模型,在操作时需要建立主索引表、附加表,以及选择档案发布、修改、管理程序,这些都是系统默认的,而在分类信息模型里面有几个是不一样的,影响调用的就是这几个文件了。复制系统默认archive_add.php、archive_edit.php为abc_add.php、abc_edit.php,作为新增模型的档案发布、修改程序(要对程序进行修改,不能使用系统默认程序)。
3、程序修改。比较abc_add.php与info_add.php、abc_edit.php与info_add.php,info的文件里面多了几个写入数据库的字段,观察数据表得知,增加的字段即为我们要调用的地区和行业。后面的步骤就是把info文件里面增加的与地区和行业有关的字段转移到abc文件里面去,这里需要注意的是我们要相应修改dede/templets目录下的模板文件abc_add.htm(即原来的archive_add.htm)、abc_edit.htm(原来的archive_edit.htm)以及“dede/action”目录下的abc_add_action.php(原来的archive_add_action.php)、abc_edit_action.php(原来的archive_edit_action.php)。
以上三步完成之后,即可在新模型中调用地区和行业进行信息发布了。