2012-07-31 39 views
2

我在我的應用程序中混淆了URL(這很棒),但是我想禁用這個分頁URL,因爲我希望用戶能夠輸入他們喜歡的任何數字。CFWheels - 查詢分頁時的DeObfuscate ID?

Settings.cfm:

<cfset set(obfuscateURLs = true) /> 

Home.cfc(控制器):

<cffunction name="home"> 

     <cfparam name="params.page" default="1" /> 

     <cfset linkList = model("link").findAll(
      select="linkTitle,linkPoints,linkID,linkAuthority,linkCreated,linkUpVoteCount,linkDownVoteCount,linkCommentCount,userName,userID", 
      include="user", 
      order="linkPoints DESC", 
      handle="linkListPaging", 
      page=params.page, 
      perPage=5 
     ) /> 

    </cffunction> 

Home.cfm(視圖)

<ul class="pagination"> 
      <cfoutput> 
       #paginationLinks( 
        route="paginateLatest", 
        handle="linkListPaging", 
        page=1, 
        name="page", 
        windowSize=5, 
        prependToPage="<li>", 
        appendToPage="</li>", 
        classForCurrent="current" 
       )# 
      </cfoutput> 
     </ul> 

我能執行反混淆上的根據需要基礎?

感謝, 邁克爾

回答

1

混淆PARAMS的設置是一個全有或全無的交易。正如您無法覆蓋linkTo()的此行爲一樣,您也無法重寫paginationLinks()

我會建議構建一個插件,因爲我敢打賭,將來會有其他開發人員希望這樣做。可能有辦法告訴控制器不要混淆/去混淆名爲page的參數。您需要更新urlFor()的工作方式以及控制器處理傳入請求時的反混淆處理方式。您也可以考慮提供一個配置選項,以使用set()將一組params鍵「黑名單」永不混淆(page是默認值)。