研究了一下emlog,下载了一个模板,使用过程中,发现没有登录可见的功能!
我想要的是管理员登录可见!
于是乎看了看官方文档:
可以直接使用的常量
变量、常量 | 类型 | 说明 |
---|---|---|
Option::EMLOG_VERSION | 常量 | 获得当前emlog版本号 |
ROLE | 常量 | 当前用户角色(用户组):admin 管理员、writer 注册用户 、visitor 访客 |
ROLE_ADMIN | 常量 | admin 管理员 |
ROLE_WRITER | 常量 | writer 注册用户 |
ROLE_VISITOR | 常量 | visitor 访客 |
UID | 常量 | 当前用户UID |
BLOG_URL | 常量 | 站点完整地址 |
ISLOGIN | 常量 | 是否登录状态,true登录 false未登录 |
根据上面的文档,于是我写了一下代码!
主要是针对内容页实现登录可见!
PHP代码修改
找到文章模版echo_log.php
文件。
打开,找到输出文章内容的变量$log_content
!
修改一番:
<?php
if(ROLE == 'admin'){
echo styleContent($log_content);
}else{
echo hiddenContent($log_content,'<div class="hiddenContent">涉及到机密,管理员可见</div>');
}
?>
css代码美化
.hiddenContent{
font-size: 15px;
border: 1px dashed red;
color: red;
text-align: center;
padding: 25px 0;
}
PHP新增的函数
模版所在的module.php
文件里,增加下面两个函数:
// 处理内容,直接输出
function styleContent($string){
$string = str_replace(array('[hide]','[/hide]'),'',$string);
$string = str_replace("<br />","</p><p>",$string);
echo $string;
}
// 隐藏内容,不可见
function hiddenContent($string, $prompt) {
$pattern = "/\[hide\](.*?)\[\/hide\]/";
$replacement = $prompt;
$result = preg_replace($pattern, $replacement, $string);
return $result;
}
使用方式
后台编辑文章的时候,将你需要隐藏的内容用[hide]
和[/hide]
括起来即可!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容