二開需求描述 做個內容頁判定密碼訪問,用戶訪問內容詳情時,需要輸入指定的密碼才能正常瀏覽相關的詳情內容。
需求開發思路 這個訪問密碼需要自定義一個模塊字段,發表內容時,將閱讀密碼填寫在該字段中。前端在調用時,做一個字段判斷,如果該字段有內容,則表示是加密狀態,需要輸入正確密碼才能瀏覽,輸入密碼驗證的操作,可以用表單來接收相關數據;如果該字段沒有內容,則表示無加密狀態,可以公開瀏覽。
二開操作步驟 1、新建一個模塊字段(筆者以news模塊為例)。
2、發布內容時,填寫閱讀密碼。
3、在news模塊中新建一個密碼驗證控制器的php文件
路徑為/dayrui/App/News/Controllers,在該文件夾內新建一個名為Ydpw.php的文件,將下方代碼復制進文件內。
<? php namespace Phpcmf \Controllers ;
class Ydpw extends \Phpcmf\Common
{
public function index () {
$id = ( int ) $_GET [ 'id' ];
$pwd = trim ( $_GET [ 'pwd' ]);
$this -> _module_init ();
$data = $this -> content_model -> get_data ( $id );
if (! $data ) {
$this -> _json ( 0 , dr_lang ( '%s內容(#%s)不存在' , $this -> module [ 'name' ], $id ));
}
if ( $pwd == '' ){
$this -> _json ( 0 , '請填寫閱讀密碼!' );
} elseif ( $pwd != $data [ 'ydpw' ]) {
$this -> _json ( 0 , '閱讀密碼不正確!' );
}
$this -> _json ( 1 , html_entity_decode ( $data [ 'content' ]));
}
}
4、在news模塊的show.html頁面中加入密碼驗證框,代碼如下所示。(樣式可以自己根據實際情況自行調整)
{ if $ydpw }
< div class = "input-group" id = "ydpw_form" >
< input type = "text" id = "qy_ydpw" value = "" class = "form-control" >
< span class = "input-group-btn" >< a class = "btn red" href = "javascript:qy_ydpw();" >驗證密碼</ a ></ span >
< /div>
<div id="content"></ div >
<script>
function qy_ydpw () {
$ . get ( "{dr_url_prefix('index.php')}?is_ajax=1&s={MOD_DIR}&c=ydpw&id={$id}&pwd=" + $ ( "#qy_ydpw" ). val (), function ( data ){
if ( data . code ) {
$ ( '#content' ). html ( data . msg );
$ ( "#ydpw_form" ). hide ();
} else {
dr_cmf_tips ( 0 , data . msg );
}
}, 'json' );
}
< /script>
{else}
{$content}
{/ if }
如果您的問題還未解決可以聯系站長付費協助。
有問題可以加入技術QQ群一起交流學習
本站vip會員 請加入無憂模板網 VIP群(50604020) PS:加入時備注用戶名或昵稱
普通注冊會員或訪客 請加入無憂模板網 技術交流群(50604130)
客服微信號:15898888535
聲明:本站所有文章資源內容,如無特殊說明或標注,均為采集網絡資源。如若內容侵犯了原著者的合法權益,可聯系站長刪除。