之前發(fā)布過(guò)一篇文章講如何用PBOOTCMS生成txt后綴的地區(qū)圖。
pbootcms制作sitemap.txt網(wǎng)站地圖
http://www.zuoan.com.cn/News3/449.html
請(qǐng)自行查閱。
當(dāng)時(shí)由于沒(méi)有開發(fā)需要,所以沒(méi)有繼續(xù)探討生成sitemap.html。
正好今天頭來(lái)無(wú)事,我們來(lái)探討一下如何生成sitemap.html吧。
歡迎隨便轉(zhuǎn)載,不需要注明來(lái)源和出處,我們的目的是讓知識(shí)和內(nèi)容得到分享和傳播。
方法和之前說(shuō)的生成TXT地圖差不多。
1:我們先復(fù)制一個(gè)模型文件,具體的路徑如圖,如果之前做過(guò)txt的,則直接復(fù)制TXT的模型文件即可,否則復(fù)制sitmapxmodel.php并改名為:SitehtmlModel.php,請(qǐng)注意大小寫。
2:復(fù)制之后,需要對(duì)此文件進(jìn)行修改。 一是CLASS后面調(diào)用的模型名稱,改成本文件的名稱。
第二步是增加 a.title,這個(gè)一共加兩處,第二處在下面一點(diǎn)。一看就懂的。這個(gè)很重要。因?yàn)槿绻@里不添加的話,后面在生成HTML的時(shí)候無(wú)法引用到文章的標(biāo)題出來(lái)。
3:控制器里面復(fù)制一個(gè)文件。如圖并修改名稱。
4:打開SitehtmlController.php
醉頂部增加一個(gè)網(wǎng)站手頁(yè)的標(biāo)題。不加也可以。這里。
在列表位置處。每一個(gè)$link = 的下面增加一行: $title2 (此處名字自取,我為了方便記和容易識(shí)別,采用了標(biāo)題加數(shù)字。)
同時(shí)將下面的字符串連接處改為:
$str .= $this->makeNode($link, $title2);
對(duì)于內(nèi)容區(qū)內(nèi)容,我修改為:
醉后,將節(jié)點(diǎn)位置改成:title2
5: 添加自定義路由. 我用的是: sitehtml.html ,這里請(qǐng)記住不能使用:sitemap.html,至于是什么原因,我也沒(méi)有研究過(guò)??赡苁且?yàn)楹蜕厦鎠itemap有重復(fù),所以打開:sitemap.html會(huì)也打開XML格式。不重要
6: 此時(shí),已經(jīng)大功完成了。但是我們發(fā)現(xiàn)它太丑了,不像是一個(gè)HTML應(yīng)該有的樣子。好吧。那我們?cè)俳o它加的CSS樣式吧。并且加上HTML的頭部和尾部。
7: 我們?cè)谏厦嫖恢锰砑親TML標(biāo)題輸出。
在醉底部添加HTML頁(yè)面的尾部并寫上CSS樣式。
刷新一下看看效果吧。
到此,完全結(jié)束。相信你已經(jīng)會(huì)了。
由于SitehtmlController.php代碼修改比較多,為了幫大家省點(diǎn)時(shí)間。故貼出代碼,可直接復(fù)制過(guò)去。
namespace apphomecontroller;
use core/basic/Controller;
use app/home/model/SitehtmlModel;
use core/basicUrl;
class SitehtmlController extends Controller
{
protected $model;
public function __construct()
{
$this->model = new SitehtmlModel();
}
public function index()
{
echo '
網(wǎng)站地圖 ';
';
$str .= $this->makeNode('', '網(wǎng)站首頁(yè)'); // 根目錄
$url_break_char = $this->config('url_break_char') ?: '_';
$sorts = $this->model->getSorts();
foreach ($sorts as $value) {
if ($value->outlink) {
continue;
$title2 = $value->name;
} elseif ($value->type == 1) {
$value->urlname = $value->urlname ?: 'list';
if ($value->filename) {
$link = Url::home('/home/Index/' . $value->filename);
$title2 = $value->name;
} else {
$link = Url::home('/home/Index/' . $value->urlname . $url_break_char . $value->scode);
$title2 = $value->name;
}
$str .= $this->makeNode($link, $title2);
} else {
$value->urlname = $value->urlname ?: 'list';
if ($value->filename) {
$link = Url::home('home/Index/' . $value->filename);
$title2 = $value->name;
} else {
$link = Url::home('home/Index/' . $value->urlname . $url_break_char . $value->scode);
$title2 = $value->name;
}
$str .= $this->makeNode($link,$title2);
$contents = $this->model->getSortContent($value->scode);
foreach ($contents as $value2) {
if ($value2->outlink) { // 外鏈
continue;
$title2 = $value2->title;
} else {
$value2->urlname = $value2->urlname ?: 'list';
if ($value2->filename && $value2->sortfilename) {
$link = Url::home('home/Index/' . $value2->sortfilename . '/' . $value2->filename, true);
$title2 = $value2->title;
} elseif ($value2->sortfilename) {
$link = Url::home('home/Index/' . $value2->id, true);
$title2 = $value2->title;
} elseif ($value2->contentfilename) {
$link = Url::home('home/Index/' . $value2->urlname . $url_break_char . $value2->scode . '/' . $value2->filename, true);
$title2 = $value2->title;
} else {
$link = Url::home('home/Index/' . $value2->urlname . $url_break_char . $value2->scode . '/' . $value2->id, true);
$title2 = $value2->title;
}
}
$str .= $this->makeNode($link, $title2);
}
}
}
echo $str . "
";
}
// 生成結(jié)點(diǎn)信息
private function makeNode($link,$title2)
{
$node = ' ' . $title2.' ';
return $node;
}
}
echo '
echo '
';
有關(guān)我們服務(wù)的更多信息,請(qǐng)聯(lián)系項(xiàng)目經(jīng)理
15899750475 楊先生