汪家杰 發表於 2024-2-27 00:00:00

dedecms v5.7与v5.6栏目增加缩略图的方法

<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        本文实例讲述了dedecms v5.7与v5.6栏目增加缩略图的方法。分享给大家供大家参考。具体分析如下:</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        栏目缩略图功能是dedecms系统不具备的一个功能了,如果你想给你的栏目增加一个缩略图上传功能我们需要来进行自定义二次开发了,下面我把一个朋友写的过程分享给大家,这里我也自己经过dedecmsv5.7测试过,没有任何问题.</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        <strong>此功能添加涉及到以下文件:</strong></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        dede/catalog_add.php  <br>
        dede/catalog_edit.php  <br>
        dede/templets/catalog_add.htm  <br>
        dede/templets/catalog_edit.htm  <br>
        include/taglib/channel.lib.php  <br>
        此升级修改方法,在V5.7,V5.7sp1 测试通过,其他版本未测试,原理基本相同,请大家自行测试是否可行.</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        首先给 栏目表(`dede_arctype`)增加一个字段typeimg,代码如下:<br>
         </p>
<div class="msgheader" style='margin: 3px auto 0px; padding: 0px 3px; outline: none; line-height: 21.6px; clear: both; border-width: 1px; border-style: solid; border-color: rgb(0, 153, 204); background: rgb(246, 251, 255); overflow: hidden; font-family: tahoma, arial, "Microsoft YaHei";'>
        <div class="right">
                <span><u>复制代码</u></span>
</div>
        代码如下:</div>
<div class="msgborder" id="phpcode29" style='margin: 0px auto 3px; padding: 0px 3px; outline: none; line-height: 25.2px; font-size: 14px; clear: both; border-right: 1px solid rgb(0, 153, 204); background: rgb(221, 237, 251); overflow: hidden; border-left: 1px solid rgb(0, 153, 204); word-break: break-all; border-bottom: 1px solid rgb(0, 153, 204); word-wrap: break-word; font-family: tahoma, arial, "Microsoft YaHei";'>
        alter table `dede_arctype` add `typeimg` varchar(200) NOT NULL default ;</div>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
         </p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        修改catalog_add.php文件,打开dede/catalog_add.php,查找:<br>
         </p>
<div class="msgheader" style='margin: 3px auto 0px; padding: 0px 3px; outline: none; line-height: 21.6px; clear: both; border-width: 1px; border-style: solid; border-color: rgb(0, 153, 204); background: rgb(246, 251, 255); overflow: hidden; font-family: tahoma, arial, "Microsoft YaHei";'>
        <div class="right">
                <span><u>复制代码</u></span>
</div>
        代码如下:</div>
<div class="msgborder" id="phpcode30" style='margin: 0px auto 3px; padding: 0px 3px; outline: none; line-height: 25.2px; font-size: 14px; clear: both; border-right: 1px solid rgb(0, 153, 204); background: rgb(221, 237, 251); overflow: hidden; border-left: 1px solid rgb(0, 153, 204); word-break: break-all; border-bottom: 1px solid rgb(0, 153, 204); word-wrap: break-word; font-family: tahoma, arial, "Microsoft YaHei";'>
        $queryTemplate = "insert into `dede_arctype` <br>
        //将 <br>
        (reid,topid,sortrank,typename,typedir, <br>
        //替换为:(reid,topid,sortrank,typename,typedir,typeimg, <br>
        //将 <br>
        ('~reid~','~topid~','~rank~','~typename~','~typedir~', <br>
        //替换为: <br>
        ('~reid~','~topid~','~rank~','~typename~','~typedir~','~typeimg~', <br>
        //查找 <br>
        $in_query = "INSERT INTO `dede_arctype` <br>
        //将 <br>
        (reid,topid,sortrank,typename,typedir, <br>
        //替换为: <br>
        (reid,topid,sortrank,typename,typedir,typeimg, <br>
        //将 <br>
        ('$reid','$topid','$sortrank','$typename','$typedir', <br>
        //替换为: <br>
        ('$reid','$topid','$sortrank','$typename','$typedir','$typeimg',</div>
<br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>保存catalog_add.php</span>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
         </p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        下面修改catalog_edit.php文件,打开dede/catalog_edit.php,查找</p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>$upquery = "Update `dede_arctype` set </span></span>
</li>
        </ol>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        在 typedir='$typedir', 其下面增加一行:</p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>`typeimg`=</span><span class="string">'$typeimg'</span><span> </span></span>
</li>
        </ol>
</blockquote>
<p>
        <br><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>保存catalog_edit.php</span></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
         </p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        开始修改栏目添加模板文件,打开dede/templets/catalog_add.htm,在最上面找到这个段,代码如下:</p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>&lt;title&gt;栏目管理&lt;/title&gt; &lt;link href=</span><span class="string">"css/base.css"</span><span> rel=</span><span class="string">"stylesheet"</span><span> type=</span><span class="string">"text/css"</span><span>&gt; </span></span>
</li>
        </ol>
</blockquote>
<p>
        <span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>替换为:  </span></p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>&lt;title&gt;栏目管理&lt;/title&gt; &lt;link href=</span><span class="string">"css/base.css"</span><span> rel=</span><span class="string">"stylesheet"</span><span> type=</span><span class="string">"text/css"</span><span>&gt;    </span></span>
</li>
        </ol>
</blockquote>
<p>
        <span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>列表命名规则,代码如下:</span></p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>&lt;tr&gt; &lt;td height=</span><span class="string">"26"</span><span> style=</span><span class="string">"padding-left:10px;"</span><span>&gt;列表命名规则:&lt;/td&gt; &lt;td&gt; &lt;input name=</span><span class="string">"namerule2"</span><span> type=</span><span class="string">"text"</span><span> id=</span><span class="string">"namerule2"</span><span> value=</span><span class="string">"{typedir}/list_{tid}_{page}.html"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">"pubinputs"</span><span> style=</span><span class="string">"width:250px"</span><span> /&gt; &lt;img src=</span><span class="string">"images/help.gif"</span><span> alt=</span><span class="string">"帮助"</span><span> width=</span><span class="string">"16"</span><span> height=</span><span class="string">"16"</span><span> border=</span><span class="string">"0"</span><span> style=</span><span class="string">"cursor:pointer"</span><span> onClick=</span><span class="string">"ShowHide('helpvar3')"</span><span>/&gt;&lt;/td&gt; &lt;/tr&gt; </span></span>
</li>
        </ol>
</blockquote>
<p>
        <span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>在标签下面增加一行:</span></p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>&lt;!--增加栏目缩略图--&gt; &lt;tr&gt; &lt;td width=</span><span class="string">"90"</span><span> style=</span><span class="string">"padding-left:10px;"</span><span>&gt;栏目<u>图片</u>:&lt;/td&gt; &lt;td width=</span><span class="string">"560"</span><span>&gt; &lt;table width=</span><span class="string">"100%"</span><span> border=</span><span class="string">"0"</span><span> cellspacing=</span><span class="string">"1"</span><span> cellpadding=</span><span class="string">"1"</span><span>&gt; &lt;tr&gt; &lt;td height=</span><span class="string">"30"</span><span>&gt; &lt;input name=</span><span class="string">"typeimg"</span><span> type=</span><span class="string">"text"</span><span> id=</span><span class="string">"typeimg"</span><span> style=</span><span class="string">"width:240px"</span><span> /&gt; &lt;input type=</span><span class="string">"button"</span><span> value=</span><span class="string">"本地上传"</span><span> style=</span><span class="string">"width:70px;cursor:pointer;display:none"</span><span> /&gt; &lt;iframe name=</span><span class="string">'uplitpicfra'</span><span> id=</span><span class="string">'uplitpicfra'</span><span> src=</span><span class="string">''</span><span> style=</span><span class="string">'display:none'</span><span>&gt;&lt;/iframe&gt; &lt;span </span><span class="keyword">class</span><span>=</span><span class="string">"litpic_span"</span><span>&gt;&lt;input name=</span><span class="string">"litpic"</span><span> type=</span><span class="string">"file"</span><span> id=</span><span class="string">"litpic"</span><span> onChange=</span><span class="string">"SeePicNew(this, 'divpicview', 'uplitpicfra', 165, 'archives_add.php');"</span><span> size=</span><span class="string">"1"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">'np coolbg'</span><span>/&gt;&lt;/span&gt; &lt;input type=</span><span class="string">"button"</span><span> name=</span><span class="string">"Submit2"</span><span> value=</span><span class="string">"选择图片"</span><span> style=</span><span class="string">"margin-left:8px;"</span><span> onClick=</span><span class="string">"SelectImage('form1.typeimg','small');"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">'np coolbg'</span><span>/&gt; &lt;input type=</span><span class="string">"button"</span><span> name=</span><span class="string">"Submit2"</span><span> value=</span><span class="string">"裁剪"</span><span> style=</span><span class="string">"margin-left:8px;"</span><span> onClick=</span><span class="string">"imageCut('typeimg');"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">'np coolbg'</span><span>/&gt; &lt;input type=</span><span class="string">'checkbox'</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">'np'</span><span> name=</span><span class="string">'ddisremote'</span><span> value=</span><span class="string">'1'</span><span> id=</span><span class="string">'ddisremote'</span><span>/&gt;远程 </span></span>
</li>
                <li>
                        <span>(栏目模板里用{dede:field.typeimg /}调用 &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/td&gt; &lt;td width=<span class="string">"150"</span><span> align=</span><span class="string">"center"</span><span>&gt; &lt;div id=</span><span class="string">'divpicview'</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">'divpre'</span><span>&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;!--增加栏目缩略图--&gt; </span></span>
</li>
        </ol>
</blockquote>
<p>
        <span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>保存catalog_add.htm,开始修改栏目编辑模板文件,打开dede/templets/catalog_edit.htm,在最上面找到这个段,代码如下:</span></p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>&lt;title&gt;栏目管理&lt;/title&gt; &lt;link href=</span><span class="string">"css/base.css"</span><span> rel=</span><span class="string">"stylesheet"</span><span> type=</span><span class="string">"text/css"</span><span>&gt; </span></span>
</li>
        </ol>
</blockquote>
<p>
        <span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>替换为:  </span></p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>&lt;title&gt;栏目管理&lt;/title&gt; &lt;link href=</span><span class="string">"css/base.css"</span><span> rel=</span><span class="string">"stylesheet"</span><span> type=</span><span class="string">"text/css"</span><span>&gt;    </span></span>
</li>
        </ol>
</blockquote>
<p>
        <span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>查找  </span></p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>&lt;tr&gt;&lt;td height=</span><span class="string">"26"</span><span> style=</span><span class="string">"padding-left:10px;"</span><span>&gt;列表命名规则:&lt;/td&gt; &lt;td&gt; &lt;input name=</span><span class="string">"namerule2"</span><span> type=</span><span class="string">"text"</span><span> id=</span><span class="string">"namerule2"</span><span> value=</span><span class="string">"&lt;?php echo $myrow['namerule2']?&gt;"</span><span> size=</span><span class="string">"40"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">"iptxt"</span><span> /&gt; &lt;img src=</span><span class="string">"images/help.gif"</span><span> alt=</span><span class="string">"帮助"</span><span> width=</span><span class="string">"16"</span><span> height=</span><span class="string">"16"</span><span> border=</span><span class="string">"0"</span><span> style=</span><span class="string">"cursor:pointer"</span><span> onClick=</span><span class="string">"ShowHide('helpvar3')"</span><span>/&gt;&lt;/td&gt; &lt;/tr&gt; </span></span>
</li>
        </ol>
</blockquote>
<p>
        <span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>在其下面增加一行:  </span></p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>&lt;!--增加栏目缩略图--&gt; &lt;tr&gt; &lt;td width=</span><span class="string">"90"</span><span> height=</span><span class="string">"81"</span><span> style=</span><span class="string">"padding-left:10px;"</span><span>&gt;栏目图片:&lt;/td&gt;&lt;/td&gt; &lt;td width=</span><span class="string">"500"</span><span>&gt; &lt;input name=</span><span class="string">"typeimg"</span><span> type=</span><span class="string">"text"</span><span> id=</span><span class="string">"typeimg"</span><span> style=</span><span class="string">"width:300px"</span><span> value=</span><span class="string">"&lt;?php echo $myrow['typeimg']?&gt;"</span><span>&gt;&lt;input type=</span><span class="string">"button"</span><span> name=</span><span class="string">"Submit"</span><span> value=</span><span class="string">"浏览..."</span><span> style=</span><span class="string">"width:70px"</span><span> onClick=</span><span class="string">"SelectImage('form1.typeimg','');"</span><span>&gt; &lt;input type=</span><span class="string">"button"</span><span> name=</span><span class="string">"Submit2"</span><span> value=</span><span class="string">"裁剪"</span><span> style=</span><span class="string">"margin-left:8px;"</span><span> onClick=</span><span class="string">"imageCut('typeimg');"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">'np coolbg'</span><span>/&gt; &lt;input type=</span><span class="string">'checkbox'</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">'np'</span><span> name=</span><span class="string">'ddisremote'</span><span> value=</span><span class="string">'1'</span><span>&gt; 远程 </span></span>
</li>
                <li>
                        <span>(栏目模板里用{dede:field.typeimg /}调用) &lt;/td&gt; &lt;td align=<span class="string">"center"</span><span>&gt; &lt;img src=</span><span class="string">"&lt;?php if($myrow['typeimg']!="</span><span class="string">") echo $myrow['typeimg']; else echo "</span><span>images/pview.gif</span><span class="string">";?&gt;"</span><span> width=</span><span class="string">"150"</span><span> height=</span><span class="string">"100"</span><span> id=</span><span class="string">"picview"</span><span> name=</span><span class="string">"picview"</span><span>&gt; &lt;/td&gt; &lt;/tr&gt; &lt;!--增加栏目缩略图--&gt; </span></span>
</li>
        </ol>
</blockquote>
<p>
        <br><br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>保存catalog_edit.htm </span></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
         </p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        至此已经修改完成!</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        栏目图片的添加或修改图片时在(栏目管理&gt;高级选项)里面就会自动出现栏目图片添加的选择.点击选择图片.弹出窗口内选择浏览上传就OK.</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        <strong>注意:前台栏目标签调用的时候,还需要改一个文件,才能实现栏目图片显示,否则只能通过sql语句才能显示图片。</strong></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        打开:include/taglib/channel.lib.php,找到如下代码:</p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span class="keyword">if</span><span>($type==</span><span class="string">'top'</span><span>) { $sql = </span><span class="string">"Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From `dede_arctype` where reid=0 And ishidden&lt;&gt;1 order by sortrank asc limit 0,$row"</span><span>; } </span><span class="keyword">else</span><span> </span><span class="keyword">if</span><span>($type==</span><span class="string">"son"</span><span>) { </span><span class="comment">//if($_sys_globals['typeid']&gt;0) $typeid = $_sys_globals['typeid']; if($typeid==0) { return ''; } $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From `dede_arctype` where reid='$typeid' And ishidden&lt;&gt;1 order by sortrank asc limit 0,$row"; } else if($type=="self") { if($reid==0) { return ''; } $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From `dede_arctype` where reid='$reid' And ishidden&lt;&gt;1 order by sortrank asc limit 0,$row"; }</span><span> </span></span>
</li>
        </ol>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        替换成下面的代码:</p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span class="keyword">if</span><span>($type==</span><span class="string">'top'</span><span>) { $sql = </span><span class="string">"Select id,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From `dede_arctype` where reid=0 And ishidden&lt;&gt;1 order by sortrank asc limit 0,$row"</span><span>; } </span><span class="keyword">else</span><span> </span><span class="keyword">if</span><span>($type==</span><span class="string">"son"</span><span>) { </span><span class="comment">//if($_sys_globals['typeid']&gt;0) $typeid = $_sys_globals['typeid']; if($typeid==0) { return ''; } $sql = "Select id,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From `dede_arctype` where reid='$typeid' And ishidden&lt;&gt;1 order by sortrank asc limit 0,$row"; } else if($type=="self") { if($reid==0) { return ''; } $sql = "Select id,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From `dede_arctype` where reid='$reid' And ishidden&lt;&gt;1 order by sortrank asc limit 0,$row"; }</span><span> </span></span>
</li>
        </ol>
</blockquote>
<p>
        <span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>调用方法:</span></p>
<blockquote>
        <ol class="dp-c">
<li class="alt">
                        <span><span>&lt;img src=</span><span class="string">""</span><span> /&gt; </span></span>
</li>
        </ol>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        希望本文所述对大家的dedecms建站有所帮助。</p>
頁: [1]
查看完整版本: dedecms v5.7与v5.6栏目增加缩略图的方法