2017-04-16 7 views
0

私は長いRSFORMを持っていますが、これは複数のユーザーによって満たされる必要があります。Joomla!RSFORMフィールドを特定のユーザーグループに表示/非表示しますか?

私は2つのJoomlaのユーザグループがあります。ボス&ワーカー

ボスは、私は労働者がすべてのフィールドを見たくないフォーム のすべてのフィールドを参照してくださいする必要があります。 フィールドを特定のユーザーまたはユーザーグループに非表示にするにはどうすればよいですか?

ありがとうございました。

答えて

0

サイトのテンプレートを変更し、ユーザーのグループに基づいてクラスを追加し、CSSを使用してフォームのフロントエンドの表示を操作する方法があります。テンプレートのindex.phpファイルのバックアップに

を保存することにより

スタート(1)どこか、あなたのテンプレートファイルが構成されている方法

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

チェックを追加したいのindex.phpの最上部付近とそれが理にかなっているところにこれを加えてください。

(2)次に

<body class="<?php 
    foreach ($user->groups as $key => $value){ 
      echo ' group'.$key; 
     } 
    ?> 
"> 

(1)の結果のようなものでbodyタグを変更し、(2)例えば、bodyタグは、ユーザーのグループに基づいて、クラスのnuberを持っているということです<body class="group2 group5 >。 IDはあなたがユーザーの下にバックエンドで見るものに対応するであろうこれらのグループ>グループ> ID

のは、ボスがID 2であるとしましょうと労働者は、ID 3である

(3)RSJoomlaは、各ラベルとフォームフィールドをラップ

divを作成し、そのクラス名を使用してフィールドをターゲットにして非表示にします。最後に例えば

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

、自分のフォームを確認し、このラッパーのクラス名を検索するには、Webインスペクタを使用して、あなたはRSJoomlaから(4)労働者

からこのフィールドを非表示にするには、いくつかの単純なCSSルールを追加する必要があります>フォーム>フォームのプロパティ]> [CSS & Javascriptを、テンプレートの仕様によっては、あなたが任意のより多くの助けが必要な場合は私に知らせて、この提案を少し微調整する必要があるかもしれません形成

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

を追加します。

幸運を祈る!

関連する問題