我在我的应用程序中混淆了URL(这很棒),但是我想为分页URL禁用它,因为我希望用户能够输入他们喜欢的任何数字。
Settings.cfm:
<cfset set(obfuscateURLs = true) />
Home.cfc(controller):
<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>
我可以根据需要进行DeObfuscate吗?
谢谢, 迈克尔
答案 0 :(得分:1)
混淆params的设置是一个全有或全无的交易。正如您无法覆盖linkTo()
的此行为一样,您也无法为paginationLinks()
覆盖此行为。
我建议建立一个插件,因为我打赌将会有其他开发人员在将来想要这个。可能有一种方法可以告诉控制器不要混淆/反混淆一个名为page
的参数。您需要更新urlFor()
的工作原理以及控制器在处理传入请求时如何进行反混淆处理。您还可以考虑提供一个配置选项,以使用set()
“黑名单”一组params
密钥,从不进行模糊处理(page
是默认值)。