ホームページ  >  記事  >  CMS チュートリアル  >  Dedecmsのサブカラムの取得方法

Dedecmsのサブカラムの取得方法

藏色散人
藏色散人オリジナル
2020-01-07 09:08:442033ブラウズ

Dedecmsのサブカラムの取得方法

dedecms サブ列を取得するにはどうすればよいですか?

dedecms5.7 一番上の列名のラベルを取得する

推奨学習: 梦Weavercms

呼び出し方法は次のとおりです。一番上の列名 :

メソッド 1:

{dede:field.typeid runphp=’yes’}$ID = @me; 
$sql = “SELECT * FROM `dede_arctype` WHERE id=$ID”;
$query = mysql_query($sql);$row=mysql_fetch_array($query); 
$relID = “$row[reid]“; if($relID == 0) {@me = $row[typename];}
else{$sql = “SELECT `typename` FROM `dede_arctype` WHERE id=$relID”;
$query = mysql_query($sql);$row=mysql_fetch_array($query); 
@me = $row[typename];}{/dede:field.typeid}

このメソッドのステートメントは少し長いです。

方法 2:

{dede:field.title  runphp='yes'}
list($toptype,$sontype)=split('/',@me);@me=$toptype;
{/dede:field.title}

方法 3:

{dede:field.typeid runphp='yes'}
$ID = @me; $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";
$query = mysql_query($sql);$row=mysql_fetch_array($query); 
$relID = "$row[reid]"; $topID="$row[topid]"; 
if($relID == 0) {@me = $row[typename];}
else{$sql = "SELECT `typename` FROM `dede_arctype` WHERE id=$topID";
$query = mysql_query($sql);$row=mysql_fetch_array($query); 
@me = $row[typename];}{/dede:field.typeid}

方法 4 (推奨):

include/helpers/extend.helper.php を開いて追加します。関数:

/**
 *  获取指定栏目id的顶级栏目的名称
 *
 * @return     string
 */
if ( ! function_exists('getTopChannelName'))
{
function getTopChannelName($id) {
   global $dsql;
        $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
        if($typeinfo['reid']==0) return $typeinfo['typename'];
        else return getTopChannelName($typeinfo['reid']);
}
}

リスト ページで次のように使用します: {dede:field name='id' function='getTopChannelName(@me)'/}

リスト ページで次のように使用しますコンテンツ ページ: {dede :field name='typeid' function='getTopChannelName(@me)'/}

先頭列の URL を取得するために添付されています:

Open include/ helpers/extend.helper.php に関数を 1 つ追加します:

/**
 *  获取指定栏目id的顶级栏目的url
 *
 * @return     string
 */
if ( ! function_exists('getTopChannelUrl'))
{
function getTopChannelUrl($id) {
   global $dsql;
        $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
        if($typeinfo['reid']==0) return GetOneTypeUrlA($typeinfo);
        else return getTopChannelUrl($typeinfo['reid']);
}
}

使用方法は上記と同じです。

以上がDedecmsのサブカラムの取得方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。