Dreamweaver は、現在のトップレベルの列名、ID、URL をどのように呼び出しますか?
Dreamweaver テンプレートを使用して Web サイトを構築する場合、現在のトップレベルの列名と、Dreamweaver のデフォルトの {dede:field name='typename' /} を呼び出す必要が生じることがよくあります。現在の列のみを取得できます。現在の列の最上位の列の名前ではなく、ページ上の 1 レベルの列の名前です。
推奨される学習: Dream Weaver cms
include/common.func.php の最後に追加:
//获取顶级栏目名 function GetTopTypename($id) { global $dsql; $row = $dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $id"); if ($row['topid'] == '0') { return $row['typename']; } else { $row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[topid]"); return $row1['typename']; } }
注: 一番上の列の場合第 2 レベルのドメイン名を決定するには、呼び出されるフィールドが sitepath である必要があるため、コードは次のようになります。
//获取顶级栏目url function GetTopTypeurl($id) { global $dsql; $row = $dsql->GetOne("SELECT sitepath,topid FROM dede_arctype WHERE id= $id"); if ($row['topid'] == '0') { return $row['sitepath']; } else { $row1 = $dsql->GetOne("SELECT sitepath FROM dede_arctype WHERE id= $row[topid]"); return $row1['sitepath']; } }
上の列の他のフィールドによって呼び出される関数 function は、次のように記述できます。その上。
同様に、トップレベルの列の URL メソッドを取得できます (トップレベルの列が第 2 レベルのドメイン名にバインドされるときに呼び出されるフィールドは「siturl」です)
function GetTopTypeurl($id) { global $dsql; $row = $dsql->GetOne("SELECT siteurl,topid FROM dede_arctype WHERE id= $id"); if ($row['topid'] == '0') { return $row['siteurl']; } else { $row1 = $dsql->GetOne("SELECT siteurl FROM dede_arctype WHERE id= $row[topid]"); return $row1['siteurl']; } }
When記事ページまたはコラム リスト ページで呼び出されます。これは、列名を呼び出したい場所に次のコード行を追加することで実現できます。
{dede:field name='typeid' function="GetTopTypename(@me)" /} 顶级栏目名 {dede:field name='typeid' function="GetTopTypeurl(@me)" /} 顶级栏目url
dede は最上位の列 ID を呼び出します
方法 1:
{dede:field.typeid function="GetTopid(@me)"/} dedeyuan はこの方法を推奨しています。テスト後には実現可能です。
dede最上位の列 ID を呼び出します
方法 2:
1. 最上位の列 ID を呼び出す必要がある場所に、このタグ構文
{dede:type}[feild:topid/]{/dede:type}
を追加します。列 ID 2. ソース ファイルを変更し、include ディレクトリの下の taglib ディレクトリで type.lib.php を見つけます。
このステートメントを見つけます
$row = $dsql->GetOne(“Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` where id=’$typeid’ “);
これを
$row = $dsql->GetOne(“Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` where id=’$typeid’ “);
に変更します。if(!is_array($row)) の次の行に次のように
if( $row['topid']==0){$row['topid']=$row['id'];}
を追加します。 return ”; 、このステートメントはトップレベルの列とサブ列の両方で呼び出すことができます
以上がDreamWeaverで現在のトップカラム名、ID、URLを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。