PHP uxf framework 在模版中加入url標籤

1. 確保不修改discuz代碼;php

2. 繼承discuz template類,重載parse_template 方法;因爲discuz在模版引擎這一塊沒有考慮擴展性,對標籤的解析所有寫在一個方法中,所以只能重複大量代碼進行重載;其中調用到的createurl方法放在idx.php 入口文件中,其實這裏也能夠直接調用原始的靜態方法 - Mvc_Router::creatUrl();linux

 

https://gitcafe.com/web3d/uxf/blob/master/upload/source/class/mvc/mvc_template.phpgit

 

<p>msg:{$msg}</p>

<p>Welcome,Phper.</p>

<a href="{url:'/senery-ticket/list'}">門票</a>
<a href="{url:'/senery-ticket/order/id/' . $ticket_id}">訂購門票</a>

 

 

3. 不覆蓋discuz的結果,就是這些擴展的東西只能在uxf體系裏使用web

 

統一路由構造與解析 說明api

好比模版中統一的url寫法mvc

{url:'/api-main/list/type/linux/order/1/name/'.$val.name}

 

參數說明:url

  • api:模塊,默認模塊common可不用添加,如 /news/list/id/10
  • main:控制器
  • list:動做
  • 其餘:都是參數

在普通url模式下,上述寫法將會生成spa

idx.php?module=api&mod=main&action=list&type=linux&order=1&name=Ubuntu

 

這樣的完整的url。3d

在pathinfo的模式下,將會生成code

/api-main/list/type/linux/order/1/name/Ubuntu

 

在Diy的模式下,將根據本身定義的方式生成,如

/api/linux/Ubuntu
相關文章
相關標籤/搜索