Home > CMS Tutorial > DEDECMS > body text

How to add column pictures in Dreamweaver CMS

藏色散人
Release: 2023-03-14 10:42:30
Original
1786 people have browsed it

How to add column pictures in Dream Weaver CMS: 1. Name the column picture field to be added "typeimg", and the execution code is "alter table dede_arctype add typeimg varchar(100)"; 2. Modify "catelog_add" .php" and "catelog_edit.php" file contents; 3. Use the channel tag to call the column, and then get the top column image of the current column.

How to add column pictures in Dreamweaver CMS

The operating environment of this tutorial: Windows 10 system, DedeCMS version 5.7, Dell G3 computer.

How to add column pictures in DreamWeaver cms?

dedecms (Dreamweaver CMS) code method for adding column images in the background

Although the methods on the Internet are correct, some details are not handled well, and many novices will encounter problems. Let me summarize it next.

The first step is to add the column image field. I will name the field typeimg here. You can add code in the background and execute the code. The operation is as follows:
"System-> SQL command tool", insert sql statement
alter table dede_arctype add typeimg varchar(100)
Step 2: Enter the background management file directory (default: dede directory), find several places under "catelog_add.php" To be modified.
1. Find $queryTemplate (about 65 lines)
The code I changed is as follows:

$queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,
    tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`typeimg`)
    VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype',
    '$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0','','','~typeimg~')";
Copy after login

2. Find $in_query (about 227 lines)

Modify the entire $in_query

$in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,
    tempindex,templist,temparticle,modname,namerule,namerule2,
    ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`typeimg`)
    VALUES('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype',
    '$tempindex','$templist','$temparticle','default','$namerule','$namerule2',
    '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes','$typeimg')";
Copy after login

In fact, it’s not difficult. Newbies can copy and paste, and veterans can modify it by themselves, just add a typeimg field to the statement.
Step 3: In the same way, find $upquery under "catelog_edit.php" (about line 38)
Modify the code as follows

$upquery = "UPDATE `#@__arctype` SET
     issend='$issend',
     sortrank='$sortrank',
     typename='$typename',
     typedir='$typedir',
     isdefault='$isdefault',
     defaultname='$defaultname',
     issend='$issend',
     ishidden='$ishidden',
     channeltype='$channeltype',
     tempindex='$tempindex',
     templist='$templist',
     temparticle='$temparticle',
     namerule='$namerule',
     namerule2='$namerule2',
     ispart='$ispart',
     corank='$corank',
     description='$description',
     keywords='$keywords',
     seotitle='$seotitle',
     moresite='$moresite',
     `cross`='$cross',
     `content`='$content',
     `crossid`='$crossid',
	 `typeimg`='$typeimg',
     `smalltypes`='$smalltypes'     $uptopsql
    WHERE id='$id' ";
Copy after login

Step 4: Enter the background management file directory (default is : dede directory)/templets/ under the "catalog_add.htm and catalog_edit.htm" files, add the following code between:

<script language=&#39;javascript&#39; src="js/main.js"></script>
Copy after login

catalog_add.htm Add the following code

<!--加入栏目-->
<tr>
<td class="bline" height="26" style="padding-left:10px;">栏目图片:</td>
<td class="bline">
<input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" />
<input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage(&#39;form1.imgmm&#39;,&#39;big&#39;)" />
</td>
<input type="hidden" name="dede_addonfields" value="imgmm,img" />
</tr>
Copy after login

catalog_edit.htm Add the following code

<!--加入栏目-->
<tr>
<td class="bline" height="26" style="padding-left:10px;">栏目图片:</td>
<td class="bline">
<input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" value="<?php echo $myrow[&#39;typeimg&#39;]?>" />
<input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage(&#39;form1.imgmm&#39;,&#39;big&#39;)" />
</td>
<input type="hidden" name="dede_addonfields" value="imgmm,img" />
</tr>
Copy after login

Note: The codes of these two files are different and must be added separately.

Step 5: If you use the channel tag to call the column, you need to change the /include/taglib/channel.lib.php file and find the following code to replace it

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

In fact, it is The typeimg field is added to the sql statement.
The sixth step is to call

{dede:channel type=&#39;self&#39; typeid=&#39;15&#39; row=&#39;8&#39; currentstyle="<li><a href=&#39;~typelink~&#39; class=&#39;thisclass&#39;>~typename~</a> </li>"}<li><a href=&#39;[field:typelink/]&#39;>[field:typename/]</a> <img src=&#39;[field:typeimg/]&#39; /></li>{/dede:channel}
Copy after login

The above code is online. What I want is not this effect. If I get the top column picture of the current column

I use two methods to solve this problem:
I tested it and it works
The first method:
Modify the file include/helpers/extend.helper.php
Find the gettoptype function and add the following to it Code, the purpose is to get the column picture

//增加栏目图片
$toptypeimg=$row[&#39;typeimg&#39;];
if($action="images") return $toptypeimg;
Copy after login

The front-end calling method:

<img src="{dede:field.typeid function=gettoptype(@me,images)/}">
Copy after login

This way you can call it. Perfect! !

Second method:
Modify the file include/common.func.php
Just add a function at the end, as follows:

//获取顶级栏目的栏目图片 李国平更新于2021.3.11
function GetTopTypeimg($id)
{
global $dsql;  
$row = $dsql->GetOne("SELECT typeimg,topid FROM dede_arctype WHERE id= $id");
if ($row[&#39;topid&#39;] == &#39;0&#39;) 
{ 
return $row[&#39;typeimg&#39;];  
} 
else 
{ 
$row1 = $dsql->GetOne("SELECT typeimg FROM dede_arctype WHERE id= $row[topid]"); 
return $row1[&#39;typeimg&#39;]; 
} 
}
Copy after login

The front-end calling method is:

<img src="{dede:field name=&#39;typeid&#39; function="GetTopTypeimg(@me)" /}">
Copy after login

This can also be called. Perfect! !

Recommended learning: dedecms tutorial

The above is the detailed content of How to add column pictures in Dreamweaver CMS. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template