覆盖 components/com_users/models/forms/login.xml 添加 class - Joomla 3

Override components/com_users/models/forms/login.xml add class - Joomla 3

我正在处理 Joomla 3 中的默认登录页面。
我覆盖了

/templates/MYTEMPLATE/html/com_users/login/default_login.php  

它工作正常,但在该文件中生成它使用 JForm 的表单字段,它使用以下方式创建 html 标签:

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

现在我想做的是重写该文件以将额外的 class 添加到输入字段。我尝试了几种组合:

/templates/MYTEMPLATE/html/com_users/login.xml
/templates/MYTEMPLATE/html/com_users/login/login.xml  
/templates/MYTEMPLATE/html/com_users/models/forms/login.xml
/templates/MYTEMPLATE/html/com_users/models/login.xml

没有一个在工作。

按照here

中的建议

您可以在

中复制login.xml和default.php
/templates/MYTEMPLATE/html/com_users/login/forms/login.xml 
/templates/MYTEMPLATE/html/com_users/login/default.php 

在您必须编辑 default.php 并添加以下行之后

$this->form->reset( true );   
$this->form->loadFile( dirname(__FILE__) . DS . "forms" . DS . "login.xml");

完成后,您可以编辑 login.xml

在我的例子中,我只是将 form-control 添加到属性 class

<field name="username" type="text"
        class="validate-username form-control"
        filter="username"
        label="COM_USERS_LOGIN_USERNAME_LABEL"
        size="25"
        required="true"
        validate="username"
    />