Joomla:根据用户组添加页面类

时间:2012-10-19 01:13:12

标签: joomla usergroups

Joomla 2.5 有没有办法将特定的css类添加到特定于登录用户组的正文中。

例如,我有四个用户组,个人高级版,个人标准版,企业高级版和企业标准版。我希望有类似的东西:

<body class="individual-standard">

<body class="corporate-standard">

这是当前的正文标记:

<body id="ff-<?php echo $fontfamily; ?>" class="<?php echo $fontstyle; ?> <?php echo $pstyle; ?> <?php echo $bgstyle; ?> <?php echo $pageclass; ?> iehandle">

我试过把它放在头上:

 $user =& JFactory::getUser();
    $pageclass ="";
    if(array_key_exists('individual premium',$user->groups)){
    $pageclass .="individual-premium";
    }
    if(array_key_exists('corporate premium',$user->groups)){
    $pageclass .="corporate-premium";
    }
     if(array_key_exists('corporate standard',$user->groups)){
    $pageclass .="corporate-standard";
    }
     if(array_key_exists('individual standard',$user->groups)){
    $pageclass .="individual-standard";
    }

这是身体标签:

<body id="ff-<?php echo $fontfamily; ?>" class="<?php echo $fontstyle; ?>  <?php echo $pstyle; ?> <?php echo $bgstyle; ?> <?php echo $pageclass; ?> iehandle">

2 个答案:

答案 0 :(得分:1)

首先获取用户组,然后根据以下代码设置类 -

在模板文件夹

的index.php中
$user =& JFactory::getUser();
    $pageclass ="";
    if(array_key_exists('individual premium',$user->groups)){
    $pageclass .="individual-premium";
    }
    if(array_key_exists('corporate premium',$user->groups)){
    $pageclass .=" corporate-premium";
    }
     if(array_key_exists('corporate standard',$user->groups)){
    $pageclass .=" corporate-standard";
    }
     if(array_key_exists('individual standard',$user->groups)){
    $pageclass .=" individual-standard";
    }

       <body id="ff-<?php echo $fontfamily; ?>" class="<?php echo $fontstyle; ?>  <?php echo $pstyle; ?> <?php echo $bgstyle; ?> <?php echo $pageclass; ?> iehandle">

例如,如果用户处于“公司高级”和“公司标准”组中 页面类将是 - corporate-premium corporate-standard

答案 1 :(得分:0)

考虑“隐藏”字段,其中“较低”的用户组将隐藏更多,而“较高”的用户组将隐藏更少(最高的则什么也没有),最好以金字塔的方式使其“排他”,像:

<?php $user =& JFactory::getUser();
    $pageclass ="";
    if(array_key_exists('Reg-D group ID',$user->groups)){
    $pageclass .="reg-d";
    } else if(array_key_exists('Reg-C group ID',$user->groups)){
         $pageclass .=" reg-c";
         } else if(array_key_exists('Reg-B group ID',$user->groups)){
              $pageclass .=" reg-b";
              } else if(array_key_exists('Reg-A group ID',$user->groups)){
                   $pageclass .=" reg-a";
                   }
?>

其中$ user-> groups变量返回用户组ID here an alternative

我不确定代码,您如何看待?