沃梦达 / 编程问答 / php问题 / 正文

仅为特定的 Joomla 用户组加载 css 样式

Load css style only for specific Joomla user group(仅为特定的 Joomla 用户组加载 css 样式)

本文介绍了仅为特定的 Joomla 用户组加载 css 样式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想执行一个 css 样式,但只针对特定的 Joomla 用户组.我的目标是将 php 代码直接包含在我的 Joomla 模板中.

I would like execute a css style but only for a specific Joomla user group. My goal was to include the php code directly inside my Joomla template.

我尝试找到方法(我不是编码员)并且我做了一些测试但没有成功.例如,我在论坛中找到了此代码:

I try to found how to do (I'm not a coder) and I make some test but without success. For example I found this code in a forum:

<?php
$user =& JFactory::getUser();
if (!$user->author) {
?>
<style>#myclass{display:none; width:0px;}</style>
<?php
}
?>

但这不起作用,因为我想通过用户组 ID 执行样式,还因为此代码似乎适用于 Joomla 1.5 而我使用的是 Joomla 2.5.

But this don't work because I want execute the style by Usergroup ID and also because this code seem to be for Joomla 1.5 and I'm under Joomla 2.5.

请问有什么线索吗?

推荐答案

$user =& JFactory::getUser();
$groupIDs = array();
foreach( $user->groups as $groupID ){
  $groupIDs[] = $groupID;
}

var_dump( $groupIDs );

如果您的 $groupIDs 数组包含您需要的 id,请像您现在所做的那样回显样式.请记住 $groupIDs 是一个数组,因此您将遍历该数组以查找所需的 id.使用 foreach 来完成它.

If you $groupIDs array contains the ids you need echo the styles as you have done now. Remember $groupIDs is an array, so you will have loop through the array to find the ids you need. Use a foreach to get it done.

如果您有任何问题,请告诉我.

If you have any issues let me know.

根据要求更新答案.

$user =& JFactory::getUser();
$groupIDs = array();
foreach( $user->groups as $groupID ){
  $groupIDs[] = $groupID;
}
foreach($groupIDs as $groupID)
{
 if($groupID == 2)
 {
 echo '<style>#myclass{display:none; width:0px;}</style>';
 }
}

这篇关于仅为特定的 Joomla 用户组加载 css 样式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:仅为特定的 Joomla 用户组加载 css 样式