分享

DedeCms 频道模型介绍,设计频道模型的方法(3)

 yliu277 2015-06-15
 如果发现发布的文章存在问题,需要修改,CMS系统调用的不是以上两个文件,而是:product_edit.php product_edit_action.php

二、程序代码修改

4、product_edit.php的修改

  step1:用dreamweaver或者editPlus打开复制好的“product_add.php”文件,查找“soft_edit.php”,替换成“product_edit.php
  查找“soft_edit_action.php”,替换成“product_edit_action.php
if(!is_array($addRow))
{
   $addRow["filetype"] = "";
$addRow["language"] = "";
$addRow["softtype"] = "";
$addRow["accredit"] = "";
$addRow["softrank"] = 3;
$addRow["officialUrl"] = 400;
$addRow["officialDemo"] = "";
$addRow["softsize"] = 400;
$addRow["softlinks"] = "";
$addRow["introduce"] = "";
}

  step2:查找“$channelid="3";”,替换成“$channelid="您建立模型的频道ID";

  step3:查找“第30行”:

改成:

CODE:
if(!is_array($addRow))
{
$addRow["price"] = "";
$addRow["pinfo"] = "";
}

  注:还记得产品库字段的设计吧,它插入的数据只是“price”和“pinfo”,所以这里的代码只需要两个字段的内容

  step4:查找“第364行”->“第514行”的table代码,这些是读取数据来进行修改的部分,把不需要的删除,只留下

  留下第509行的:

<?
   GetEditor("body",$addRow["introduce"],250,"Small");
   ?>

并改成:

<?
   GetEditor("body",$addRow["pinfo"],250,"Small");
   ?>

  注:这里代码增加了读取数据部分“$addRow["数据库表字段"]”,并且赋值给 value ,明白了这点,添加“price”内容就方便多了

  在此前面添加一个按钮文本框input:

<input name="price" id="price" value='<?=$addRow["price"]?>' style="width:100">

完成修改,还剩下

5、product_edit_action.php的修改

  step1:用dreamweaver或者editPlus打开复制好的“product_edit_action.php”文件,查找“soft_edit.php”,替换成“product_edit.php
  查找“soft_edit_action.php”,替换成“product_edit_action.php”

  step2:查找“第108行”:

//更新附加表
//----------------------------------
$row = $dsql->GetOne("Select aid,typeid From dede_addonsoft where aid='$ID'");
if(!is_array($row))
{
$inQuery = "
INSERT INTO dede_addonsoft(aid,typeid,filetype,language,softtype,accredit,
os,softrank,officialUrl,officialDemo,softsize,softlinks,introduce)
VALUES ('$ID','$typeid','$filetype','$language','$softtype','$accredit',
'$os','$softrank','$officialUrl','$officialDemo','$softsize','$urls','$body');
";

改成:

//更新附加表
//----------------------------------
$row = $dsql->GetOne("Select aid,typeid From dede_addonproduct where aid='$ID'");
if(!is_array($row))
{
$inQuery = "
INSERT INTO dede_addonproduct(aid,typeid,price,pinfo)
VALUES ('$ID','$typeid','$price','$body');

  step3:查找“第129行”:

update dede_addonsoft
set typeid ='$typeid',
filetype ='$filetype',
language ='$language',
softtype ='$softtype',
accredit ='$accredit',
os ='$os',
softrank ='$softrank',
officialUrl ='$officialUrl',
officialDemo ='$officialDemo',
softsize ='$softsize',
softlinks ='$urls',
introduce='$body'
where aid='$ID';";

改成:

update dede_addonproduct
set typeid ='$typeid',
price ='$price',
pinfo ='$body'
where aid='$ID';";

 注意:where aid='$ID'前面的一行,后面没有逗号的,因为一时粗心,这个地方查了好久才找到问题。

至此,完成所有程序文件代码修改。

三、前台模板定制

自定义模型后,需要为它定义模板文件,涉及三个文件“index_xxx.htm”、“list_xxx.htm”、“article_xxx.htm”,操作非常简单,到模板目录复制然后改名“index_product.htm”、“list_product.htm”、“article_product.htm”即可,建立新的网站频道时,CMS系统自动调用相应的模板文件

这部分主要是内容调用,只要把前面定义的“字段调用代码”放到相应的模板里即可,在此不作详细说明。

<field:price type='int' isnull='true' default='' rename='' />

<field:pinfo type='text' isnull='true' default='' rename='' />

经过测试,新建的模型目前还没发现问题,
由于本人同是初学者,出错的话希望大家谅解,并恳请指正.

注意:关于数据库字段
用CMS自动创建的 product 表 pinfo 字段要改成 MEDIUMTEXT 类型有可能修改不了,如遇到此问题,请用 phpMyAdmin 删除,重新添加一个,添加方法看下图的“添加字段”



完成后的效果

精彩内容,请点击下一页!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多