2011-11-16 47 views
1

我有一個網站與登錄系統。但是,我希望登錄視圖根據用戶訪問登錄屏幕的鏈接而有所不同。Cakephp一個登錄功能/多個登錄視圖

喜歡的東西:

function login ($from_page = null) { 

    if (isset($page)) $this->render('login_alternate_view'); 
    else $this->render('login'); //default login view 
} 

然後每個登錄意見(login.ctp,login_alternate_view.ctp)必須具體到每一個登錄表單加上其他的東西。

這是可能的某種方式?我已經嘗試過類似上面的示例,但它不起作用...

+0

'isset($ page)'應該是'!empty($ from_page)'嗎? –

+0

也許,但我的主要問題是,當我傳遞一個參數到登錄函數(如/用戶/登錄/變量)時,我得到一個錯誤 – Albert

+0

什麼錯誤?.... –

回答

0

首先顯示您在評論中所說的真實錯誤消息,而不是「某些東西」。

我猜你想要登錄時用戶所在的當前頁面url?如何生成模態?通過ajax請求整個表單還是嵌入在您正在瀏覽的頁面中?如果它是嵌入式的,我會將用戶所在的當前頁面url放在登錄表單中的一個隱藏字段「from」中,並檢查它。

/users/login?some_var=some_value 

然後在登錄功能我趕上與該變量的值:

+0

我無法使用當前頁面,因爲從同一頁面用戶有多個登錄選項,所以我需要知道他使用的確切鏈接。我明白了這一點,我發佈了答案 – Albert

1

所以我使用GET變量固定它

$this->params['url']['some_var']; 

這樣我可以「定製」我的登錄功能依賴用戶使用的鏈接