請求位址
先來判斷位址對應的資料表
兩個表中的資料
下一步就要理解資料是如何取出的
相關的控制器如下
這個比較簡單就是呼叫 content模組下index控制器的show方法 資料表結構手冊
下一步介紹下show()方法如何運算元據庫的
請求引數catid=6&id=6
而我們已經知道文章儲存在 文章模型表 news,news_data表id=6這一行,
catid為欄目id 查詢資料表結構手冊 或者開啟資料庫 可以找到_category欄目表可以輕易發現
每個欄目的文章模型 由modelid欄位定義
再查手冊可以確認modelid對應表model
所以請求引數在show()轉化為引數modelid=1&id=6
至此我們知道要獲取表news,news_data中=6的資訊
下面就是運算元據庫了
$tablename = $this->db->table_name = $this->db->db_tablepre.$model[$modelid]['tablename'];取出主表內容和附表內容$r = $this->db->get_one(array('id'=>$id));
if(!$r || $r['status'] != 99) showmessage(l('info_does_not_exists'),'blank');
$this->db->table_name = $tablename.'_data';
$r2 = $this->db->get_one(array('id'=>$id));
$rs = $r2 ? array_merge($r,$r2) : $r;
其中get_one方法在 mysql.class.php 資料庫實現類
$content_output = new content_output($modelid,$catid,$categorys);
$data = $content_output->get($rs);判斷是否有快取有的話讀取快取沒有輸出$rs
extract($data);這個是php本身的函式將本函式用來將變數從陣列中匯入到當前的符號表中
<?php/* 假定 $var_array 是 wddx_deserialize 返回的陣列*/
$size = "large";
$var_array = array("color" => "blue",
"size" => "medium",
"shape" => "sphere");
extract($var_array, extr_prefix_same, "wddx");
echo "$color, $size, $shape, $wddx_size\n";
?>
blue, large, sphere, medium再去看模板檔案就比較簡單了
<div
class
="main"
>
<
div
class
="col-left"
>
<
div
class
="crumbs"
><
a href
="">
php echo $title
?>首頁
a><
span
>
>
span
> 正文
div>
<
div
id="article"
>
<
h1><
br />
<
span
a href
="#comment_iframe"
id="comment"
>0
a> 點選:
span
><
span
id="hits"
>
span
>
h1>
<
div
class
="summary"
>
div>
<
div
class
="content"
>
phpcms定時發布文章解決辦法
phpcms更新文章是一件比較繁瑣的事情,如果phpcms能有定時更新文章的功能就好了。這樣就可以一次把文章都寫好,規定發布時間剩下的事情就交給系統了,通過最近的研究,還真有這種方法。第一步 修改 開啟phpcms modules content index.php 加入下面函式 wlsh 說明 文...
PHPCMS實現文章置頂功能的方法
這篇文章主要介紹了phpcms實現文章置頂功能的方法,需要的朋友可以參考下 我個人喜歡把phpcms當作部落格來用,而作為乙個部落格,怎能少了文章置頂功能呢?其中用phpcms實現置頂功能非常簡單,無非是修改下推薦位的名稱為置頂,然後在文章列表中推送需要置頂的文章罷了。不過部落格系統中置頂文章可不會...
PHPCMS實現文章置頂功能的方法
我個人喜歡把phpcms當作部落格來用,而作為乙個部落格,怎能少了文章置頂功能呢?其中用phpcms實現置頂功能非常簡單,無非是修改下推薦位的名稱為置頂,然後在文章列表中推送需要置頂的文章罷了。不過部落格系統中置頂文章可不會與文章列表中的文章重複,要解決這個問www.cppcns.com題其實也不難...