CFWheels - DeObfuscate ID для запроса страниц?

Я запутываю URL-адреса в своем приложении (и это здорово), но я бы хотел отключить это для URL-страниц пагинации, потому что хотел бы, чтобы пользователь мог вводить любой номер, который ему нравится.

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>

Могу ли я сделать DeObfuscate по мере необходимости?

Спасибо майкл

1 ответ

Настройка для запутывания параметров является соглашением "все или ничего". Так же, как вы не можете переопределить это поведение для linkTo()Вы не можете переопределить это для paginationLinks() или.

Я бы предложил создать плагин, так как держу пари, что будут другие разработчики, которые захотят этого в будущем. Может быть способ сказать контроллеру не запутывать / деобфусцировать параметр с именем page, Вам нужно будет обновить как urlFor() работает так же, как деобфускация контроллера при обработке входящих запросов. Вы также можете рассмотреть возможность предоставления опции конфигурации для использования set() в "черный список" набора params ключи, которые никогда не будут запутаны (с page быть по умолчанию).

Другие вопросы по тегам