【问题标题】:Disabled field name in edit profile joomla编辑配置文件joomla中的禁用字段名称
【发布时间】:2017-06-02 11:00:33
【问题描述】:

我想在编辑配置文件 Joomla 中禁用字段、姓名和姓氏,以便用户无法修改它们。我该如何更改?

【问题讨论】:

    标签: php css joomla


    【解决方案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;
    
    }
    

    【讨论】:

      【解决方案2】:

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

      在管理员中,打开菜单 Extensions-Templates-Templates,然后选择您的模板并在顶部选项卡中选择“创建覆盖”:

      在中心栏中,选择 com_users - profile 和 edit.php

      显示是通过循环完成的,从第 59 行开始(从 v. 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. ?>
      

      $field 包含如下内容:

      我们通过名称来识别它(当然是通过它的字段名称),然后设置它的readonly 属性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-17
        • 2014-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-26
        • 2014-06-13
        相关资源
        最近更新 更多