如何为管理员用户将具体的CSS样式应用于Concrete 5.7网站的某个部分?
答案 0 :(得分:1)
我发现的最佳方式是根据用户是否为管理员,在您的<body>
代码中应用课程。
从具体的5.7.5.6开始,管理员&#39; group的ID为3,因此该代码应该有效:
<?php
$isAdminUser = !empty((new User())->getUserGroups()[3]);
$bodyClass = $isAdminUser
? 'user-is-admin'
: 'user-is-non-admin';
?>
<body class="<?= $bodyClass ?>">
然后你可以像这样编写你的CSS ......
.user-is-admin .alert { }
.user-is-non-admin .alert { }
答案 1 :(得分:1)
我不会假设管理员组的ID为3,这样的代码容易出错。更好地使用常量concrete5定义:
use Crypt::OpenSSL::AES;
use Crypt::CBC;
use MIME::Base64;
#---------------------------------------------------------------------------
sub InitAES
#---------------------------------------------------------------------------
{
my ($k) = @_;
return (Crypt::CBC->new(
-key => $k,
-cipher => "Crypt::OpenSSL::AES"
));
}
#---------------------------------------------------------------------------
sub EnCryptAES
#---------------------------------------------------------------------------
{
my ($d, $k) = @_;
if (!defined($d)) { return(0); }
if (!defined($k)) { return(0); }
$cipher = &InitAES($k);
return (encode_base64($cipher->encrypt($d)));
}
#---------------------------------------------------------------------------
sub DeCryptAES
#---------------------------------------------------------------------------
{
my ($e, $k) = @_;
if (!defined($e)) { return(0); }
if (!defined($k)) { return(0); }
$cipher = &InitAES($k);
return ($cipher->decrypt(decode_base64($e)));
}
您也可以按名称获取该组,至少如果您不进行更改; - )
$u = new User();
$adminGroup = Group::getByID(ADMIN_GROUP_ID);
if ($u->inGroup($adminGroup)) {
...
}
基于您的代码的完整解决方案将如下所示:
$adminGroup = Group::getByName('Administrators');