2013-08-26 95 views
-1

我將網站從1.7版轉換爲2.5版,而且所有工作都完成了,但我遇到了一個問題。我想使用以前版本中存在的這兩個自定義K2模板用於用戶註冊和用戶配置文件,因爲它們使用K2作爲用戶註冊機制。強制使用K2註冊和配置文件視圖來代替默認註冊和配置文件視圖?

我已經配置K2到Enable K2 User Profile

Enable K2 User Profile

但無論出於何種原因,當我瀏覽到index.php?option=com_users&view=register它仍然抓住了默認的登記表。現在,我認爲它可能是URL,但舊的1.7系統使用相同的URL。所以,通過一些調試,我發現當佈局被告知搜索文件時,K2路徑不在數組中。

我在這裏做錯了什麼?

注:我也試過配置User Manager使Allow User Registration設置爲No,但我只是得到了403然後,因爲它只是不與K2模板覆蓋。

Allow User Registration

UPDATE

正如我在評論,不管是什麼原因,我沒有K2註冊菜單項類型說明。然而,最奇怪的部分是1.7版本也沒有指出K2註冊。

更多背景。這是一個真正黑客入侵的系統。菜單實際上是與一個JUMI模塊,是直線前進的定製和建造當用戶在用於例如配置文件中的鏈接記錄是這樣的:

index.php?option=com_users&view=user&layout=form&id=3 

和註冊鏈接,這也是定製(即它是一個自定義視圖中的鏈接)是這樣的:

index.php?option=com_user&view=register 

因此,簡而言之,我不知道有足夠的瞭解Joomla的導航系統瞭解如何讓這些鏈接來重新路由到K2觀點,即駐留/components/com_k2/templates文件夾。

UPDATE

我把存在於/components/com_k2/templates文件夾到文件夾/templates/tmplname/html/com_users/register並將其改名爲default.php使默認用戶註冊導航會選擇這一觀點的register.php視圖。而且它沒有選擇來看,沒有真正的驚喜,但也失敗了這樣一行:

<?php if(count(array_filter($this->K2Plugins))): ?> 

因爲K2Pluginsnull而不是允許的array_filter功能。我猜這是因爲如果這個視圖位於com_k2文件夾內,就像它的原始位置一樣,這是可用的。我正在嘗試我現在​​能想到的一切。

也扔在這條線:

$this->K2Params->get('recaptchaOnRegistration') 

因爲K2Params是空,因此當然get不可用。

+0

試着編輯與註冊表單相關的菜單項,去改變「類型」並將其設置爲K2註冊表 – Lodder

+0

@Lodder,我沒有看到K2註冊表單菜單項。 –

回答

0

我終於找到了問題! /plugins/system/k2/k2.php捕獲導航的onAfterDispatch方法。如果是com_usersregisterprofile那麼它會重定向並利用不同的視圖。那麼,問題在於舊代碼表示com_user而不是com_users。愚蠢!