dedecms リスト ページのタイトルを変更するにはどうすればよいですか?
推奨調査: 梦Weavercms
最近、sina.com.cn qq.com 163.com のページ タイトルを見て、そのタイトルが
チャンネルページ:チャンネル名_ウェブサイト名
リストページ:リスト名_チャンネル名_ウェブサイト名
コンテンツページ:記事名_2列目(リスト名)_1列目(チャンネル名) _Web サイト名
私も小さなサイトをこれに変更したいと思っています。dedecms のヘルプ ドキュメントを確認したところ、そのような関連マークはありませんでした。自分でやり始めて始めるしかないようです。また百度です。このような記事がたくさんあることがわかりました。このサイトから転送された別の記事を確認してください。
DEDE は「記事タイトル-列名-ウェブサイト名」を実装しています
しかし技術者として, 私は自分で書くことに駆り立てられました。みんなの便宜のために、実装したメソッドとその呼び出し方法を投稿します。
バージョン 5.0、関連するクラスとテンプレートは次のとおりです。いくつかの
inc_archives_view.php (最新5.5版为 arc.archives.class.php)内容页生成类 inc_arclist_view.php (最新5.5版为 arc.listview.class.php)列表页生成类 inc_typelink.php(最新5.5版为 typelink.class.php) 用于获取页面位置和栏目名相关类 index_article.htm 频道页模板 list_article.htm 列表页模板 article_article.htm 内容页模板
まず、dedecms のカーネルを変更しましょう (以下に挙げたファイル名はバージョン 5.0 を使用しています。上にリストしたファイルに従って、新しいバージョンに対応するファイルを 1 つずつ確認できます)
Ctrl F in inc_typelink.php クラスで「function GetPositionLink」を検索します。 GetPositionLink() 関数の下に次の関数を入力します。
この関数は、現在のページの位置情報を取得するために使用されます。
例:列 1 _列 2
以下は引用された内容です:
コードは次のとおりです:
/* * 得到当前页的位置,主要用在页面title中 * $typeid 栏目id * &$info 引用传值 * $SplitSymbol 各栏目之间的分割符 * 排序 desc:栏目二_栏目一 ,asc:栏目一_栏目二 */ function getPosition($typeid,&$info,$SplitSymbol='_',$orderby='desc'){ if (empty($typeid)) return false; $this->dsql->SetQuery("Select ID,reID,typename From jyk_arctype where ID='".$typeid."'"); $infos = $this->dsql->GetOne(); $symbol = empty($info)?"":$SplitSymbol; if ($orderby=='desc'){ $info = $info.$symbol.$infos['typename']; } else{ $info = $infos['typename'].$symbol.$info; } if ($infos['reID']!='0'){ $this->getPosition($infos['reID'],&$info,$SplitSymbol,$orderby); } }
図に示すように:
#続行 次に、関連するコードを解析リスト ページとコンテンツ ページ クラスに追加します。inc_archives_view.php クラスで $this->Fields['position'] を探し、追加しますこの行の下にある次のコード
コードは次のとおりです:
$this->TypeLink->getPosition($this->Fields['typeid'],&$this->Fields['position2'],"_");
$this->TypeLink->getPosition($typeid,&$this->Fields['position2'],"_");
以上がdedecmsリストページのタイトルを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。