2012-03-24 160 views
0

我一直在試圖覆蓋文件login.xml,但無論我嘗試什麼,模板文件夾中的編輯版本都不顯示。 如何覆蓋此文件?覆蓋組件/ com_users/models/forms/login.xml - Joomla 2.5?

更新

我試圖template/<templatename>/html/com_users/models/login.xml和像template/<templatename>/html/com_users/models/forms/login.xmltemplate/<templatename>/html/com_users/forms/login.xml等其他變化沒有任何成功。

+0

嗨,謝謝你的回覆。我已經嘗試了template/templatename/html/com_users/models/login.xml以及其他變體,如template/templatename/html/com_users/models/forms/login.xml或template/templatename/html/com_users/forms/login.xml等... – theoth 2012-03-24 19:43:12

回答

6

這裏有一個解決方案:

http://forum.joomla.org/viewtopic.php?t=583380#p2375649

我只是測試它在的Joomla 2.5.3和它的作品。

更新

這裏是使用Normal模板覆蓋功能從上面的URL

我們可以覆蓋輸出複製的解決方案。對我而言,我試圖覆蓋登錄頁面。所以,我正在取/components/com_users/views/login/tmpl/default.php的副本並將其放入/templates/beez_20/html/com_users/login

現在取/components/com_users/models/forms/login.xml的副本,並將其放入/templates/beez_20/html/com_users/login

然後編輯/templates/beez_20/html/com_users/login/default.php,並在表單的頂部添加(我加我的只是形式的標籤後)下面的代碼行:

// to reset the form xml loaded by the view 
$this->form->reset(true); 

// to load in our own version of login.xml 
$this->form->loadFile(dirname(__FILE__) . DS . "login.xml"); 

同樣可以安全地編輯/templates/beez_20/html/com_users/registration/registration.xml修改登記表。

+0

感謝您的鏈接。我會試一試併發布結果.. – theoth 2012-03-24 19:59:26

+0

似乎按預期工作,謝謝。 – theoth 2012-03-25 13:49:53

4

答案公佈在@Shaz肯定工程座談會上,但爲Joomla 3.X那麼你就需要一點點,所以這將是

首先複製

/components/com_users/models/forms/login.xml 

/templates/YOUR_TEMPLATE/html/com_users/login/forms/login.xml 

,並把這段代碼位於首位

if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR); 

$this->form->reset(true); // to reset the form xml loaded by the view 
$this->form->loadFile(dirname(__FILE__) . DS . "forms" . DS . "login.xml"); // to load in our own version of login.xml 

這確實蜱對我來說用戶@dylanjh一個榮譽最初張貼答案的的Joomla論壇

+0

完美!謝謝 – RustyIngles 2015-07-17 12:21:26

1

我能夠利用Griiettner的解決方案爲Joomla 3.我想不會允許用戶編輯他們的電子郵件地址在前端的配置文件編輯屏幕上。我只修改了它稍微,複製這個文件:

components/com_users/models/forms/profile.xml

到:

/templates/YOUR_TEMPLATE/html/com_users/profile/forms/profile.xml

也複製此文件:

components/com_users/views/profile/tmpl/edit.php

到:

/templates/YOUR_TEMPLATE/html/com_users/profile/edit.php

,並把這個代碼在edit.php文件的頂部右後:

defined('_JEXEC') or die;

我離開了$this->form->reset(true); // to reset the form xml loaded by the view ,只有用這個:

// JOOMLA 3 if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR); $this->form->loadFile(dirname(__FILE__) . DS . "forms" . DS . "profile.xml");

這使我可以保持在編輯表單中填充用戶配置文件信息。然後我編輯profile.xml配置文件,並補充說:

readonly="true"

到EMAIL1和EMAIL2領域。這可以防止用戶進行編輯。