DEDECMS リスト ページとその他のページのホームページに異なるテンプレートを使用する方法は?
DEDECMS のホームページリスト ページ 他のページと異なるテンプレートを使用する方法
推奨学習:梦Weavercms
リスト ページの最初のページを 2 番目のページとは異なるものにする必要がある場合があります。以降のページではスタイルが異なり、dede:list タグを変更しても期待通りの効果を得るのは難しいため、Dreamweaver Cat では、ホームページ用に別のテンプレート ページを指定して呼び出しを行う最も簡単な方法を紹介します。他のページ用の別のテンプレート ページ。
修正方法は次のとおりです。
インクルード ディレクトリ内の arc.listview.class.php ファイルを開き、Display 関数 (397 行目あたり) を見つけます。次のコードを見つけます:
$this->ParseTempletsFirst();
これらのコードの上に次のコードを追加します:
if($this->PageNo>1) { $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_article2.htm"; $this->dtp->LoadTemplate($tempfile); }
追加後、ページ数が 1 より大きい場合、Dreamweaver はリストとして list_article2.htm を呼び出します。ページのテンプレート。
上記のコードを追加した後、列を動的に参照するとこれを実現できますが、列の静的 HTML ページを生成した後でも、期待された目的がまだ達成されていないことがわかります。 #次のコードを検索します:
$this->ParseDMFields($this->PageNo,1);
このコードの上に次のコードを追加します:
if($this->PageNo>1) { $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_article2.htm"; $this->dtp->LoadTemplate($tempfile); $this->ParseTempletsFirst(); }
まだご質問があるかもしれません。列に複数のリスト ページ テンプレートがある場合、各列リスト ページの 2 ページ目では list_article2.htm をテンプレートとして使用する必要がありますか?
解決策:
$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_article2.htm";
を次のように変更します:
$tmpdir = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']; $tempfile = str_replace("{tid}",$this->TypeID,$this->Fields['templist']); $tempfile = str_replace("{cid}",$this->ChannelUnit->ChannelInfos['nid'],$tempfile); $tempfile = $tmpdir."/".$tempfile; $tmpfile2 = substr($tempfile,0,-4); $tempfile = $tmpfile2."2.htm";
これで、リスト ページ テンプレートの後に 2 が追加されたテンプレートが自動的に取得されます。たとえば、リスト ページのテンプレートは list_image.htm で、2 番目のページのテンプレートは list_image.htm です。
これは非常に便利です。
以上がDEDECMS リスト ページとその他のページのホームページに異なるテンプレートを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。