ホームページ  >  記事  >  CMS チュートリアル  >  dedecmsリストページのタイトルを変更する方法

dedecmsリストページのタイトルを変更する方法

藏色散人
藏色散人オリジナル
2019-12-13 10:24:272392ブラウズ

dedecmsリストページのタイトルを変更する方法

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); 
} 
}

図に示すように:

dedecmsリストページのタイトルを変更する方法

#続行 次に、関連するコードを解析リスト ページとコンテンツ ページ クラスに追加します。

inc_archives_view.php クラスで $this->Fields['position'] を探し、追加しますこの行の下にある次のコード

コードは次のとおりです:

$this->TypeLink->getPosition($this->Fields['typeid'],&$this->Fields['position2'],"_");

また、inc_arclist_view.php クラスで $this->Fields['position'] を検索し、次のコードを追加します。その下

コードは次のとおりです:

$this->TypeLink->getPosition($typeid,&$this->Fields['position2'],"_");

わかりました。テンプレートを呼び出します

タイトルに {dede:field name='position2'/} を使用しますlist_article.htm とarticle_article.htm のタグを呼び出して

図に示すように

dedecmsリストページのタイトルを変更する方法

#注: チャネル ページを呼び出す必要はありません。チャネル名も取得できますが、 {dede:field name='typename'/} で呼び出す方が便利で、 inc_arcpart_view.php クラス

を変更する必要はありません。

dedecmsリストページのタイトルを変更する方法

O、この記事を追加し、それを実現するために Dreamweaver システムを変更します 「記事名_列 1_列 2_Web サイト名」 合計 4 つの異なる方法があります。

あなたの Web サイトが Baidu や Google にもっと掲載されることを願っています (笑)

あとがき:

この機能を開発しているときに、列データテーブル(通常時はあまり変更されない)はキャッシュされず、プログラム使用時はinc_typelinkなどリアルタイムにデータベースにリンクしてクエリを実行します。PHPではすべてのデータが直接保存されます。 SQLからチェックアウトされている デデcmsよりもphpcmsの方が処理が優れているとため息がつきます phpcmsは頻繁に変更されないデータを直接PHPファイルにキャッシュします 最新版のdedecms 5.5の生成速度は悪くありませんが、 Dream Weaver の開発者がこれらの詳細をより適切に最適化できれば、生成速度はもっと速くなるのではないか?

以上がdedecmsリストページのタイトルを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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