323 Star 2K Fork 532

御宅男工作室 / YZNCMS

 / 详情

😃会员投稿显示全部栏目问题的解决方案

待办的
求助问题
创建于  
2022-03-02 00:30

问题描述

会员投稿栏目显示问题:系统默认是显示全部栏目,虽然可以在后台设置投稿权限,但显示所有栏目感觉有点乱。经研究可进行了如下修改,修改后可在后台控制栏目是否在前台显示。

解决办法

1.修改"/application/cms/view/category/add.html"

输入图片说明
添加栏目时:显示或隐藏选择框
输入图片说明

<div class="layui-form-item">
    <label class="layui-form-label">投稿时显示</label>
    <div class="layui-input-block">
        <input type="radio" name="show" value="1" title="显示" checked>
        <input type="radio" name="show" value="0" title="隐藏">
    </div>
</div>

2.修改"/application/cms/view/category/edit.html"

输入图片说明
编辑栏目时:显示或隐藏选择框
输入图片说明

<div class="layui-form-item">
    <label class="layui-form-label">投稿时显示</label>
    <div class="layui-input-block">
        <input type="radio" name="show" value="1" title="显示" {eq name="data.show" value="1" }checked{/eq}>
        <input type="radio" name="show" value="0" title="隐藏" {eq name="data.show" value="0" }checked{/eq}>
    </div>
</div>

3.修改"/application/cms/controller/Category.php"

添加"show"字段
输入图片说明
输入图片说明

4.修改"/application/member/controller/Content.php"

给查询语句添加条件"->where('show',1)"

$array = Db::name('Category')->where('show',1)->order('listorder DESC, id DESC')->column('*', 'id');

输入图片说明

5.修改数据库

在数据库中给"yzn_category"表添加"show"字段,字段类型为"tinyint"
输入图片说明

评论 (4)

hnayzzf 创建了任务

会员投稿显示全部栏目问题的解决方案,希望对兄弟们有所帮助。

hnayzzf 任务状态待办的 修改为已完成
hnayzzf 任务状态已完成 修改为进行中
hnayzzf 任务状态进行中 修改为待办的
hnayzzf 修改了描述
hnayzzf 修改了标题
御宅男(YznCMS官方) 添加了
 
教程
标签

经过上面修改只对非单页栏目有效,当添加单页栏目时会报错,这时需要同时修改singlepage.html和singlepage_edit.html,分别添加相应的选择框。

<div class="layui-form-item">
    <label class="layui-form-label">投稿时显示</label>
    <div class="layui-input-block">
        <input type="radio" name="show" value="1" title="显示" checked>
        <input type="radio" name="show" value="0" title="隐藏">
    </div>
</div>
<div class="layui-form-item">
    <label class="layui-form-label">投稿时显示</label>
    <div class="layui-input-block">
        <input type="radio" name="show" value="1" title="显示" {eq name="data.show" value="1" }checked{/eq}>
        <input type="radio" name="show" value="0" title="隐藏" {eq name="data.show" value="0" }checked{/eq}>
    </div>
</div>

请问,栏目的允许投稿,未勾选到的会员组,前端也能显示这些栏目,但是没有投稿权限。怎样设置为没权限的会员组,则不显示栏目出来?

我的思路是,没有权限则变灰(不可选),就修改一个文件。

application\member\controller\Content.php 127行
//含子栏目和单页不可以发表
                if ($v['child'] == 1 || $v['type'] == 1) {
                    $array[$k]['disabled'] = "disabled";
                    $array[$k]['catidurl'] = url('publish', array('step' => 2));
                } else {
                    $catidPrv = Db::name('category_priv')->where(array("catid" => $v['id'], "roleid" => $this->auth->groupid, "is_admin" => 0, "action" => "add"))->find();
                    if(empty($catidPrv))
                    {
                        $array[$k]['disabled'] = "disabled";
                        $array[$k]['catidurl'] = url('publish', array('step' => 2));
                    } else {
                        $array[$k]['disabled'] = "";
                        $array[$k]['catidurl'] = url('publish', array('step' => 2, 'catid' => $v['id']));
                    }
                }

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
PHP
1
https://gitee.com/ken678/YZNCMS.git
git@gitee.com:ken678/YZNCMS.git
ken678
YZNCMS
YZNCMS

搜索帮助