编辑配置文件joomla中禁用的字段名称

时间:2017-01-18 06:54:01

标签: php css joomla

我想在编辑个人资料Joomla中禁用字段,名称和姓氏,以便用户无法修改它们。我怎么能改变这个?

edit profile

2 个答案:

答案 0 :(得分:1)

没有配置设置来实现此目的。 因此,最简单的方法是为用户视图创建模板覆盖。

在管理员中,打开菜单Extensions-Templates-Templates,然后选择您的模板并在顶部选项卡中选择“Create Overrides”: Joomla override page

在中间列中,选择com_users - 个人资料和edit.php override code

显示是通过循环完成的,从第59行开始(从3.6.5开始)你要添加代码来识别你希望保持只读的字段,并简单地设置它们的只读属性。

这是从第59行开始添加的代码:

<?php foreach ($fields as $field) : ?>
        <?php 
            if ($field->name == 'jform[name]') {
              $field->readonly = true;
            }
        ?>
        <?php // If the field is hidden, just display the input. ?>

$字段包含以下内容: enter image description here

我们通过名称(以及其字段名称)识别它,然后设置其readonly属性。

答案 1 :(得分:1)

最好的方法,但不是最简单的方法是创建一个用户插件来覆盖使用onContentPrepareForm方法的表单:

public function onContentPrepareForm($form, $data){

    if (!($form instanceof JForm)){
        $this->_subject->setError('JERROR_NOT_A_FORM');
        return false;
    }

    $form->setFieldAttribute('name', 'readonly', 'true');
    $form->setFieldAttribute('lastname', 'readonly', 'true');

    return true;

}