ホームページ > CMS チュートリアル > DEDECMS > Dreamweaver CMS で列の画像を追加する方法

Dreamweaver CMS で列の画像を追加する方法

藏色散人
リリース: 2023-03-14 10:42:30
オリジナル
1819 人が閲覧しました

Dream Weaver CMS で列ピクチャを追加する方法: 1. 追加する列ピクチャ フィールドに「typeimg」という名前を付け、実行コードは「alter table dede_arctype add typeimg varchar(100)」です。 "catelog_add" .php" および "catelog_edit.php" ファイルの内容 3. チャネル タグを使用して列を呼び出し、現在の列の最上位の列イメージを取得します。

Dreamweaver CMS で列の画像を追加する方法

このチュートリアルの動作環境: Windows 10 システム、DedeCMS バージョン 5.7、Dell G3 コンピューター。

DreamWeaver cms に列の画像を追加するにはどうすればよいですか?

dedecms (Dreamweaver CMS) コードで列イメージを背景に追加する方法

インターネット上の方法は正しいですが、細部がうまく処理されていないため、多くの初心者は問題に遭遇するでしょう。次にまとめてみましょう。

最初のステップは、列イメージ フィールドを追加することです。ここではフィールドに typeimg という名前を付けます。バックグラウンドでコードを追加し、コードを実行できます。操作は次のとおりです:
"システム -> SQL コマンド ツール」、SQL ステートメントを挿入
alter table dede_arctype add typeimg varchar(100)
ステップ 2: バックグラウンド管理ファイル ディレクトリ (デフォルト: dede ディレクトリ) に入り、「catelog_add」の下のいくつかの場所を見つけます。 php」を変更します。
1. $queryTemplate を見つけます (約 65 行)
変更したコードは次のとおりです:

$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~')";
ログイン後にコピー

2. $in_query を見つけます (約 227 行)

全体を変更します$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')";
ログイン後にコピー

実は、これは難しいことではありません。初心者はコピーして貼り付けることができ、ベテランはステートメントに typeimg フィールドを追加するだけで自分で変更できます。
ステップ 3: 同様に、「catelog_edit.php」の下で $upquery を見つけます (約 38 行目)
コードを次のように変更します

$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' ";
ログイン後にコピー

ステップ 4: バックグラウンド管理ファイルのディレクトリに入ります (デフォルトは : dede ディレクトリ)/templets/ 「catalog_add.htm およびcatalog_edit.htm」ファイルの下に、次のコードを追加します。

<script language=&#39;javascript&#39; src="js/main.js"></script>
ログイン後にコピー

catalog_add.htm 次のコードを追加します。

<!--加入栏目-->
<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>
ログイン後にコピー

catalog_edit .htm 次のコードを追加します

<!--加入栏目-->
<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>
ログイン後にコピー

注: これら 2 つのファイルのコードは異なるため、別々に追加する必要があります。

ステップ 5: チャネル タグを使用して列を呼び出す場合は、/include/taglib/channel.lib.php ファイルを変更し、次のコードを見つけて置き換える必要があります。

    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 ";
    }
ログイン後にコピー

実際には、SQL ステートメントに typeimg フィールドが追加されます。
6 番目のステップは、

{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}
ログイン後にコピー

を呼び出すことです。上記のコードはオンラインです。私が望むのは、この効果ではありません。現在の列の一番上の列の画像を取得する場合

2 つ使用しますこの問題を解決する方法:
テストしてみたところ、うまくいきました
最初の方法:
ファイルを変更します include/helpers/extend.helper.php
gettoptype 関数を見つけて、それに次のコードを追加しますコード。目的は列の画像を取得することです。

//增加栏目图片
$toptypeimg=$row[&#39;typeimg&#39;];
if($action="images") return $toptypeimg;
ログイン後にコピー

フロントエンド呼び出しメソッド:

<img src="{dede:field.typeid function=gettoptype(@me,images)/}">
ログイン後にコピー

この方法で呼び出すことができます。完璧! !

2 番目の方法:
include/common.func.php
ファイルを変更します。次のように、最後に関数を追加するだけです。

//获取顶级栏目的栏目图片 李国平更新于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;]; 
} 
}
ログイン後にコピー

フロントエンドの呼び出しメソッドは次のとおりです。 :

<img src="{dede:field name=&#39;typeid&#39; function="GetTopTypeimg(@me)" /}">
ログイン後にコピー

これも呼び出せます。完璧! !

推奨学習: dedecms チュートリアル

以上がDreamweaver CMS で列の画像を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート