我有一个很长的RSFORM需要由几个用户填写。
我有2个joomla用户组:Boss&工人
Boss需要查看表单的所有字段 我不希望工人看到所有的领域。 如何将字段隐藏到特定用户或用户组?
感谢您的帮助。
答案 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>
根据您的模板和表单的具体情况,您可能需要稍微调整一下此建议,如果您需要更多帮助,请与我们联系。
祝你好运!