新浪內(nèi)容管理系統(tǒng)的CMS模型

2016-12-20    分類: 網(wǎng)站建設(shè)

在代碼級別,sinacms是用C++編碼的,模板獲取數(shù)據(jù)時使用Perl腳本。在sinacms中,通道、項目和模板是集成的。他們的關(guān)系如下:

不難看出,sinacms是非常靈活的。因為它的數(shù)據(jù)庫結(jié)構(gòu)是在項目建立后模板建立時確定的。信息渠道、金融渠道、汽車渠道等各個渠道可以有完全不同的數(shù)據(jù)庫結(jié)構(gòu),不同渠道的特殊需求也可以完全定制。此外,可以看出,sinacms中的模板是最重要的模型,它承擔(dān)著確定數(shù)據(jù)表結(jié)構(gòu)、文章發(fā)布和管理、配置通道參數(shù)等功能。

讓我們看看CMS系統(tǒng)中常見的新聞頁面、頻道主頁和列表頁面是如何在sinacms中實現(xiàn)的。

編輯最后一篇文章時,首先找到頻道的新聞頁面,然后進入下面的文章,輸入后點擊發(fā)布,系統(tǒng)會根據(jù)模板的內(nèi)容獲取相關(guān)字段內(nèi)容,最后根據(jù)模板的屬性發(fā)布到相應(yīng)的靜態(tài)文件中。如果與其他模板(在新聞頁面的模板字段中定義application::postinpage)存在相關(guān)關(guān)系,則會觸發(fā)相應(yīng)模板(如主頁和列表頁面)的更新。

在第一個頁面模板塊中,它可以分為動態(tài)和靜態(tài)。對于需要頻繁更新的靜態(tài)塊,可以將它們獨立地生成模板。靜態(tài)塊相當(dāng)于模板下的一個項目(只有一個項目)。當(dāng)然,您也可以在主頁中創(chuàng)建form::textfield的模板字段。對于動態(tài)塊,如動態(tài)新聞列表,可以在主頁中新建application::sqlresult模板域,通過執(zhí)行Perl腳本獲取內(nèi)容填充,然后在主頁模板內(nèi)容中引用模板域,當(dāng)然也可以新建只包含application::sqlresult域的模板。

對于列表頁,首先,列表頁的分頁值可以存儲在列表頁的模板字段或模板中。在處理分頁時,分頁算法將通過Perl腳本執(zhí)行。最后,所有列表頁都是列表頁模板下的文檔集。

在一個項目中,為了提高發(fā)布效率,會有多個臨時存儲表和歸檔表(實際上是一些模板)。例如,在主頁的動態(tài)新聞列表中,可以構(gòu)建一個臨時模板來存儲數(shù)據(jù)。此時,如果主頁或包含動態(tài)新聞列表的模板頻繁更新,無疑會降低數(shù)據(jù)庫的壓力。新聞紙頁面模板可以保存上個月處理的文章,特別是在文章數(shù)據(jù)快速增長的渠道中,這是非常必要的。以前的文章需要轉(zhuǎn)儲到存檔表中,以便查詢和偶爾更新文章。

sinacms中的通道路徑(如信息大陸文本)由模板處理,Perl用于處理模板域中的相關(guān)邏輯。子頻道和主題也通過模板實現(xiàn),模板通過添加新模板來建立子頻道和主題之間的關(guān)系。

至此,我們可以了解到sinacms使用了大量的冗余字段來存儲原來需要多個表聯(lián)合查詢的數(shù)據(jù),這無疑提高了文章的發(fā)布效率。

在其他CMS中,模板只是一個獨立的概念,而在sinacms中,一切都是模板。

新聞名稱:新浪內(nèi)容管理系統(tǒng)的CMS模型
標(biāo)題鏈接:http://www.muchs.cn/news/72749.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、App開發(fā)電子商務(wù)、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)