Joomla RSFORM隐藏/显示特定用户组的字段?

时间:2017-04-16 13:59:15

标签: joomla

我有一个很长的RSFORM需要由几个用户填写。

我有2个joomla用户组:Boss&工人

Boss需要查看表单的所有字段 我不希望工人看到所有的领域。 如何将字段隐藏到特定用户或用户组?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

一种方法是修改站点的模板,添加基于用户组的类,然后使用CSS来操作表单的前端显示。

首先保存模板index.php文件的备份

(1)在index.php顶部附近的某处你要添加

<?php
    $user =& JFactory::getUser();
?>      

检查模板文件的结构,并将其添加到合理的位置。

(2)然后用

之类的东西修改body标签
<body  class="<?php
    foreach ($user->groups as $key => $value){
             echo ' group'.$key;
        }
    ?>
"> 

(1)和(2)的结果是body标签将具有基于用户组的类的nuber,例如<body class="group2 group5 >。这些组ID将与您在用户&gt;下的后端中看到的内容相对应。群组&gt; ID

假设Boss是ID 2而Worker是ID 3.

(3)RSJoomla将每个标签和表单字段包装在div中,我们将使用其类名来定位和隐藏字段。使用Web检查器检查表单并找到此包装器的类名称,例如

<div class="rsform-block rsform-block-fieldname"> ...</div>

最后,您需要添加一些简单的CSS规则来隐藏Workers

中的此字段

(4)来自RSJoomla&gt;表格&gt;表格属性&gt; CSS&amp; Javascript,添加

<style>  
 /* if this user belongs to group3 (ie worker) hide rsform-block-fieldname  */
 .group3 .rsform-block-fieldname{display:none;}
</style>

根据您的模板和表单的具体情况,您可能需要稍微调整一下此建议,如果您需要更多帮助,请与我们联系。

祝你好运!