迅睿cms怎样设置文章阅读密码?就是用户访问内容详情时,需要输入指定的密码才能正常浏览相关的详情内容。这个访问密码需要自定义一个模块字段,发表内容时,将阅读密码填写在该字段中。前端在调用时,做一个字段判断,如果该字段有内容,则表示是加密状态,需要输入正确密码才能浏览,输入密码验证的操作,可以用表单来接收相关数据;如果该字段没有内容,则表示无加密状态,可以公开浏览。具体看下面的操作步骤。
1、新建一个模块字段(笔者以news模块为例),如下图所示。
2、发布内容时,填写阅读密码,如下图所示。
3、在news模块中新建一个密码验证控制器的php文件
路径为/dayrui/App/News/Controllers,在该文件夹内新建一个名为Ydpw.php的文件,将下方代码复制进文件内。
class Ydpw extends PhpcmfCommon
{
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}
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');
}
{else}
{$content}
{/if}
本站部分建站教程来源于网络,仅供学习参考,如有侵权请联系我们及时删除!本文地址: 迅睿cms怎样设置文章阅读密码?