Heim > CMS-Tutorial > DEDECMS > Hauptteil

So fügen Sie Spaltenbilder in Dreamweaver CMS hinzu

藏色散人
Freigeben: 2023-03-14 10:42:30
Original
1788 Leute haben es durchsucht

So fügen Sie Spaltenbilder in DreamWeaver CMS hinzu: 1. Benennen Sie das hinzuzufügende Spaltenbildfeld „typeimg“ und der Ausführungscode lautet „alter table dede_arctype add typeimg varchar(100)“; 2. Ändern Sie „catelog_add.php“; und „catelog_edit.php“-Dateiinhalt; 3. Verwenden Sie das Kanal-Tag, um die Spalte aufzurufen, und rufen Sie dann das obere Spaltenbild der aktuellen Spalte ab.

So fügen Sie Spaltenbilder in Dreamweaver CMS hinzu

Die Betriebsumgebung dieses Tutorials: Windows 10-System, DedeCMS Version 5.7, Dell G3-Computer.

Wie füge ich Spaltenbilder in Dreamweaver CMS hinzu?

Die Codemethode zum Hinzufügen von Spaltenbildern im Hintergrund von dedecms (Dream Weaver CMS)

Obwohl die Online-Methode korrekt ist, gibt es einige Details, die nicht gut gehandhabt werden, und viele Anfänger wird auf Probleme stoßen. Lassen Sie mich es als nächstes zusammenfassen.

Der erste Schritt besteht darin, das Feld „typeimg“ hinzuzufügen. Sie können den Code im Hintergrund hinzufügen und den Code wie folgt ausführen:
„System->SQL Command Tool“ und Fügen Sie die SQL-Anweisung ein.
alter table dede_arctype add typeimg varchar(100)
Schritt 2: Geben Sie das Verzeichnis der Hintergrundverwaltungsdateien ein (Standard: dede-Verzeichnis). Suchen Sie unter „catelog_add.php“ nach mehreren Dingen, die geändert werden müssen.
1. Finden Sie $queryTemplate (ca. 65 Zeilen)
Der Code, den ich geändert habe, lautet wie folgt:

$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~')";
Nach dem Login kopieren

2. Suchen Sie $in_query (ca. 227 Zeilen)

Ändern Sie die gesamte $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')";
Nach dem Login kopieren

Es ist eigentlich nicht schwierig, Anfänger können es Kopieren und Einfügen, Veteranen können es selbst ändern, fügen Sie einfach ein Typimg-Feld zur Erklärung hinzu.
Schritt 3: Suchen Sie auf die gleiche Weise nach „catelog_edit.php“ und gehen Sie zu $upquery (ungefähr Zeile 38)
Ändern Sie den Code wie folgt

$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' ";
Nach dem Login kopieren

Schritt 4: Geben Sie das Verzeichnis der Hintergrundverwaltungsdatei ein (Standard: dede-Verzeichnis) / templatets/„catalog_add.htm“ und „catalog_edit.htm“-Dateien, fügen Sie den folgenden Code zwischen ihnen hinzu:

<script language=&#39;javascript&#39; src="js/main.js"></script>
Nach dem Login kopieren

catalog_add.htm Fügen Sie den folgenden Code hinzu:

<!--加入栏目-->
<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>
Nach dem Login kopieren

catalog_edit.htm Fügen Sie den folgenden Code hinzu:

<!--加入栏目-->
<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>
Nach dem Login kopieren

Hinweis: Die Codes dieser beiden Dateien sind nicht gleich, sie müssen separat hinzugefügt werden.

Schritt 5: Wenn Sie das Kanal-Tag zum Aufrufen der Spalte verwenden, müssen Sie die Datei /include/taglib/channel.lib.php ändern und den folgenden Code finden, um sie zu ersetzen

    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 ";
    }
Nach dem Login kopieren

Tatsächlich ist das Feld typeimg zur SQL-Anweisung hinzugefügt.
Der sechste Schritt besteht darin,

{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}
Nach dem Login kopieren
aufzurufen. Der obige Code stammt aus dem Internet. Wenn ich das obere Spaltenbild der aktuellen Spalte erhalten möchte, verwende ich zwei Methoden, um diese Frage zu lösen:

Mein Test ist gültig

Die erste Methode:

Ändern Sie die Datei include/helpers/extend.helper.php
Suchen Sie die Funktion gettoptype und fügen Sie den folgenden Code hinzu, um das Spaltenbild zu erhalten

//增加栏目图片
$toptypeimg=$row[&#39;typeimg&#39;];
if($action="images") return $toptypeimg;
Nach dem Login kopieren

Die Front-End-Aufrufmethode:
<img src="{dede:field.typeid function=gettoptype(@me,images)/}">
Nach dem Login kopieren

So kannst du es nennen. Perfekt! !

Die zweite Methode:

Ändern Sie die Datei include/common.func.php

Fügen Sie am Ende einfach eine Funktion wie folgt hinzu:

//获取顶级栏目的栏目图片 李国平更新于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;]; 
} 
}
Nach dem Login kopieren

Die Front-End-Aufrufmethode lautet:
<img src="{dede:field name=&#39;typeid&#39; function="GetTopTypeimg(@me)" /}">
Nach dem Login kopieren
Dies kann auch aufgerufen werden. Perfekt! !

Empfohlenes Lernen:

dedecms-Tutorial

Das obige ist der detaillierte Inhalt vonSo fügen Sie Spaltenbilder in Dreamweaver CMS hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage