TypeLink->." in the class that parses the list page and content page. .." and save."/> TypeLink->." in the class that parses the list page and content page. .." and save.">
Home > Article > CMS Tutorial > How to modify the title of dedecms list page
dedecms How to modify the title of the list page?
Recommended study: 梦Weavercms
Recently I saw the page titles of sina.com.cn qq.com 163.com and found out that Their titles are as follows
Channel page: Channel name_Website name
List page: List name_Channel name_Website name
Content page: Article name_Column two ( List name)_Column 1 (Channel name)_Website name
I also want to change my small site to this. I checked the help document of dedecms and found that there is no such related mark. It seems that I can only I started to do it myself and started Baidu again. I found that there are many articles like this. Please check another article transferred from this site,
DEDE implements "article title-column name-website name"
But as a technician, I was driven to write one myself. I will post the method I implemented and how to call it for everyone’s convenience.
Version 5.0, the classes and templates involved are as follows A few
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 内容页模板
First let’s modify the kernel of dedecms, (the file names I mentioned below use version 5.0, you can check the files corresponding to the new version one by one according to the files I listed above)
Ctrl F in the inc_typelink.php class to search for "function GetPositionLink" Enter the following function under the GetPositionLink() function
This function is used to obtain the position information of the current page
For example, column 1 _Column 2
The following is the quoted content:
The code is as follows:
/* * 得到当前页的位置,主要用在页面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); } }
As shown in the picture:
Continue Next, add relevant code to the parsing list page and content page classes.
Look for $this->Fields['position'] in the inc_archives_view.php class and add the following code below this line
The code is as follows:
$this->TypeLink->getPosition($this->Fields['typeid'],&$this->Fields['position2'],"_");
Also search for $this->Fields['position'] in the inc_arclist_view.php class and add the following code below it
The code is as follows:
$this->TypeLink->getPosition($typeid,&$this->Fields['position2'],"_");
Okay, now we call in the template
Use {dede:field name='position2'/} in the title tags of list_article.htm and article_article.htm to call
As shown in the figure
#Note: There is no need to call the channel page in this way. Although the channel name can also be obtained, it is more convenient to call it with {dede:field name='typename'/} , there is no need to modify the inc_arcpart_view.php class
The implementation effect is as follows:
O, add this article, modify the Dreamweaver system to achieve it "Article Name_Column 1_Column 2_Website Name" There are 4 different methods in total. Choose according to your personal situation.
I hope your website will be included in Baidu and Google more, haha.
Afterword:
When developing this function, I found that dede, like the column data table (which is not changed much at ordinary times), is not cached. When the program is used, it is linked to the database for query in real time, such as inc_typelink. In PHP, all data are directly checked out from SQL. I can’t help but sigh that phpcms is better than dedecms in processing. phpcms directly caches data that is not changed often into PHP files. Although the generation speed of the latest version of dedecms 5.5 is not bad, But if the developers of Dream Weaver can better optimize these details, wouldn’t the generation speed be faster?
The above is the detailed content of How to modify the title of dedecms list page. For more information, please follow other related articles on the PHP Chinese website!