这个访问密码需要自定义一个模块字段,发表内容时,将阅读密码填写在该字段中。前端在调用时,做一个字段判断,如果该字段有内容,则表示是加密状态,需要输入正确密码才能浏览,输入密码验证的操作,可以用表单来接收相关数据;如果该字段没有内容,则表示无加密状态,可以公开浏览。
二开需求描述
做个内容页判定密码访问,用户访问内容详情时,需要输入指定的密码才能正常浏览相关的详情内容。
需求开发思路
这个访问密码需要自定义一个模块字段,发表内容时,将阅读密码填写在该字段中。前端在调用时,做一个字段判断,如果该字段有内容,则表示是加密状态,需要输入正确密码才能浏览,输入密码验证的操作,可以用表单来接收相关数据;如果该字段没有内容,则表示无加密状态,可以公开浏览。
二开操作步骤
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}
注意事项(必读):
1、本站所展示的一切软件、教程和内容信息等资源均仅限用于学习和研究目的,请在下载后24小时内自觉删除;不保证其完整性及可用性,本平台不提供任何技术支持,若作商业用,请到原网站购买,由于未获授权而发生的侵权行为与本站无关。如有侵权请联系vip#mmeasy.cn(将#替换成@),我们将及时处理。
2、一切网盘资源请勿在线解压!在线解压会提示文件损坏或密码错误,特别注意若压缩包名带part1或z01这样的标识,则均为分卷压缩包,需要下载每个文件夹下的所有压缩包后,用WinRAR软件解压part1或zip即可释放当前文件夹下所有压缩包的内容!
3、如果链接失效,遇到资源失效可提交工单处理。
4、强烈建议在本站注册成为会员后再购买,游客购买只能短期保留记录,如超期或购买后自行清空浏览器缓存,将恢复购买前状态!
本文链接:https://www.mmeasy.cn/9479.html