研究了一下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]括起來即可!