2013-12-12 26 views
1

我設法編輯大部分註冊表格,方法是在數據庫中添加字段並調整xml文件和php文件。我甚至找到了一個免費的插件,允許用電子郵件登錄,而不是用戶名。如何在Joomla 3.x中將電子郵件設置爲用戶名?

但我找不出一種方法來完全刪除用戶名。或至少從窗體中刪除它並創建一個自動用戶名(用戶甚至不需要真正需要看到)

我很瞭解Email as Username插件,但希望我可以在沒有它的情況下做到這一點。

+2

我會堅持一個插件,而不是編輯核心Joomla文件。任何你可能已經改變的文件可能會在下一次Joomla更新中被覆蓋,所以這正是插件的用途;) – Lodder

+0

那麼我爲此目的創建了一個「兒童主題」(不確定這些是在joomla中調用的) – Shmagic

回答

6

所以這會有點棘手。 Joomla不允許將電子郵件傳遞給身份驗證插件,因此您必須通過username字段進行代理。

在該網站上,我創建了一個新的登錄模塊,將username字段的標籤更改爲「電子郵件」。您仍然需要保留該字段的名稱爲username

然後,在認證的Joomla插件,看https://github.com/joomla/joomla-cms/blob/master/plugins/authentication/joomla/joomla.php#L50

嘗試改變該行:

->where('email=' . $db->quote($credentials['username'])); 

只是嘗試破解現在,看看它是否工作。如果需要做的就是複製該插件並進行修改,並將其重命名爲其他內容(請記住恢復原始插件中的舊代碼)。讓我知道你怎麼去。

相關問題