2012-03-24 358 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领域。这可以防止用户进行编辑。