织梦栏目字段添加并调用:例如图片上传

时间:2017-05-24

1.在数据库栏目表dede_arctype中的typedir后面添加要添加的字段 typeimg

2.修改sql语句, dede/catalog_add.PHP中搜索 queryTemplate等级栏目和$in_query子集栏目,在sql语句中的每个~typedir~后面加上$typeimg, 

   注:参数部分记得要加上‘$ typeimg’。

3.编辑dede/catalog_edit.php在typedir='$typedir',后面增加一行typeimg='$typeimg',

4.打开dede/templets/catalog_add.htm 搜索栏目名称 在栏目名称</tr>下添加一下代码

    需要拷贝js:<script language="javascript" src="js/main.js"></script>

 

         <tr>
            <td height="65" style="padding-left:10px;">栏目图片:</td>
            <td width="400">
                <input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" />
                <input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" />
            </td>
            <td>
               <td align="center"><img src="<?php echo "images/pview.gif";?>" width="150" height="100" id="picview" name="picview"></td>
            </td>
          </tr>

 

 

    打开dede/templets/catalog_edit.htm,在栏目名称下添加代码,其实织梦的文章页面也有添加缩略图,直接拷贝过来也可以,拷贝后记得连js一起拷贝
    需要拷贝js:<script language="JavaScript" src="js/main.js"></script>

<tr>
            <td height="65" style="padding-left:10px;">栏目图片:</td>
            <td width="400">
                <input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" />
                <input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" />
            </td>
            <td>
             <td align="center"><img src="<?php if($myrow["typeimg"]!="") echo $myrow["typeimg"]; else echo "images/pview.gif";?>

                       " width="150" height="100" id="picview" name="picview"></td>
            </td>
</tr>

 

5.添加完成后dede:channel标签和dede:type等标签都还是无法调用该字段的,还需要修改标签语句

 编辑include/taglib/channel.lib.php文件 找到一下代码,并在每个typedir后面加上自己添加的字段typeimg

if($type=='top')
    {
        $sql = "SELECT id,typename,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    else if($type=='son')
    {
        if($typeid==0) return '';
        $sql = "SELECT id,typename,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          From `dede_arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    else if($type=='self')
    {
        if($reid==0) return '';
        $sql = "SELECT id,typename,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }

  //如果用子栏目模式,当没有子栏目时显示同级栏目
    if($type=='son' && $reid!=0 && $totalRow==0)
    {
        $sql = "SELECT id,typename,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
        $dsql->SetQuery($sql);
      $dsql->Execute();
    }

 

找到$linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);在下面复制一行

讲其修改为$linkOkstr = str_replace("~typeimg~",$row['typeimg'],$linkOkstr);

 

6.修改include/taglib/type.lib.php文件,找到如下代码,并在typedir后加上typeimg,前台就可以通过标签调用了

  if(empty($typeid)) return '';

    $row = $dsql->GetOne("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 

                          FROM `dede_arctype` WHERE id='$typeid' ");
上一条:dedecms织梦如何用dede:type和sql语句调用指定一个栏目的内容和描述 下一条:织梦CMS/Dedecms添加自定义函数

相关文章

最新文章