###2.14個性化URL結構
---
一、支持主表字段(如果需要附表字段可以使用方法“三”)
要使用個性化URL結構,必須先閱讀上面“數據結構”章節

{catname}:示欄目名稱,看過“數據結構”的都懂,不解釋
{title}:是文章的id
1、靜態生成模式
靜態生成模式,不用加{id}標簽,但要確保url地址的唯一(可以加其他參數來區分,如時間)
2、偽靜態模式
偽靜態模式,欄目必須有{id}或者{dir}/{pdir},內容必須加{id}標簽,前面已經說的很清楚了

如果你的服務器不支持多編碼,可能會出現中文亂碼,慎用
二、運用普通函數(以md5函數為例子)
1、靜態生成模式

{md5({id})}.html : {id}表示調用當前的id,{md5(xxx)}表示進行md5運行,因為是靜態生成模式,所有可以不用再次加id了
2、偽靜態模式

{md5({id})}-{id}.html : 前面一節跟上面一樣,后面{id}表示調用當前的id,因為是偽靜態嘛,必須與服務器的id匹配運算,所有必須加一個id
{word2pinyin({title})}-{id}.html : 拼音標題+id.html(需要用的可以參考,不支持特殊漢字)
那么偽靜態代碼如下:
RewriteRule ^([a-zA-Z0-9]{32})-([0-9]+).html$ index.php?c=content&a=list&catid=$2 [L] (md5是32位的所有前面寫了{32})

三、運用自定義函數
例子:文章標題的拼音.html(我們以靜態為例子吧,偽靜態時記得跟上面例子一樣必須加一個id)

從上面不難看出,我們是調用了自定義函數test(),那么我們就定義一個test的函數(自定義函數應該放在專用文件里/trunk/extensions/custom.php,不會影響系統升級)
function test($data, $page=1) {
if ($page > 1) { //當帶有分頁時
//word2pinyin函數是系統自帶的拼音轉換函數,特殊字不支持哦~
return word2pinyin($data['title']) . '-' . $page; //上面規則中寫了.html為后綴,在這里就不用寫了
} else { //當不帶分頁時
return word2pinyin($data['title']); //上面規則中寫了.html為后綴,在這里就不用寫了
}
}
//其實這種URL格式方法二完全可以實現的

補充: 上面函數中的$data數組是指當前文章表(不包括自定義字段,若要使用自定義字段必須查詢)、欄目表、表單(包括自定義字段)的數據
- 后臺管理
- 1.首次進入系統有紅色的提示文字
- 2.欄目管理
- 3.附件管理
- 4.會員投稿流程
- 5.自定義模型使用說明
- 6.表單使用教程
- 7.Ucenter使用說明
- 8.站內搜索參數說明及表單設計
- 9.會員擴展使用教程
- 10數據采集
- 代碼配置管理
- 2.1字段類別說明
- 2.2[靜態/偽靜態]自定義URL
- 2.3網站多語言配置方法
- 2.4后臺管理目錄(admin)更改方法介紹
- 2.5自定義Tag標簽的URL
- 2.6多站點及分站配置
- 2.7欄目自定義字段
- 2.8提交表單郵件通知
- 2.9極驗驗證
- 2.10自定義字段表單調用
- 2.11聯動菜單(linkage)
- 2.12模型選項名稱和選項值
- 2.13自定義編輯器
- 2.14個性化URL結構
- 數據結構與標簽模板設計
- 3.1部分表的數據結構
- 3.2模板設計指南
- 3.3萬能標簽list
- 3.4標簽語法說明
- 3.5系統變量介紹
- 3.6系統函數介紹
- 3.7欄目調用說明
- 3.8SQL語句查詢
- 3.9推薦位調用
- 3.10Tag標簽調用
- 3.11插件開發指南
- 3.12自定義字段類別
- 3.13自定義分頁樣式
- 3.14表單模型和會員擴展模型的回調函數
- 3.15模型回調函數開發