fastadmin自定义添加系统配置,实现只能在规定日期显示数据

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

一、在系统设置中添加时间范围

锁定自定义添加系统配置位置

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

  填写基本信息

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

查看并设置时间区间范围

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

 

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

 可在数据库fa_config中查看刚新增的数据

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

 二、进入需要进行时间限制的页面中控制器

 这里是:application/admin/controller/pim/Test2.php

写入头部文件,才能对系统配置中的字段进行引用

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

use think\Config;//引入Config配置才能引用系统配置的信息(加载config类)

 在index函数中写入时间区间判断的方法(index是从基类控制器引用的traits复制来的)

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

$timeinterval = Config::get('site.timeinterval');//获取系统配置中的时间区间
$timeinterval_array = explode(' - ',$timeinterval);//对得到的时间区间通过'-'进行分割,并存入数组$timeinterval_array(数组中存有两段时间,第一个为开始时间,第二为结束时间)
if((strtotime($timeinterval_array[0])<time()) && (time()<strtotime($timeinterval_array[1])))
    {
//将数组中的字符串(开始时间与结束时间)转换为时间,当当前时间在开始时间与结束时间之间(开始时间<当前时间<结束时间)
        $this->view->assign('timeinterval',1);//在view视图层设置变量timeinterval的值为1
    }
else{
         $this->view->assign('timeinterval',0);//在view视图层设置变量timeinterval的值为0
    }

注:正常数据库存入的时间是:例2023-01-01 00:00:00 – 2023-12-02 23:59:59

 explode(' – ',$timeinterval),'-'指的是中间的'-'而不是2023-01-01这里面的'-',则在分隔符需要在两边使用空格才能确定为中间的'-'(2023-01-01 00:00:002023-12-02 23:59:59)

①$timeinterval = Config::get('site.timeinterval');

获取系统配置中的时间区间字段的值其中site.timeinterval

其中site.timeinterval可对应系统配置页面中展示的信息中查看

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

②$timeinterval_array = explode(' – ',$timeinterval);

explode是将$timeinterval以 – 进行分割,然后存入数组$timeinterval_array中

③$timeinterval_array[0],$timeinterval_array[1]

 是指数组中的第一个和第二个值

strtotime()

是指将括号中的数从时间字符串转换为时间戳

⑤time()

是指获取当前时间戳

⑥$this->view->assign('timeinterval',1);

 是指设置view视图层中的变量timeinterval的值为1

三、视图层view进行逻辑判断

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

<div class="panel-body">
        {if $timeinterval== 1}
        <div id="myTabContent" class="tab-content">
            <div class="tab-pane fade active in" id="one">
                <div class="widget-body no-padding">
                    <div id="toolbar" class="toolbar">
                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('pim/test2/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('pim/test2/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('pim/test2/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
                        <div class="dropdown btn-group {:$auth->check('pim/test2/multi')?'':'hide'}">
                            <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
                            <ul class="dropdown-menu text-left" role="menu">
                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
                            </ul>
                        </div> 
                    </div>
                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
                           data-operate-edit="{:$auth->check('pim/test2/edit')}"
                           data-operate-del="{:$auth->check('pim/test2/del')}"
                           width="100%">
                    </table>
                </div>
            </div>
        </div>
        {else}
            <div style="color:red;text-align:center;">不在时间范围内,无法查看</div>
        {/if}
    </div>

当变量timeinterval值为1,表示当前时间在时间区间中,则展示数据信息

        <div id="myTabContent" class="tab-content">
            <div class="tab-pane fade active in" id="one">
                <div class="widget-body no-padding">
                    <div id="toolbar" class="toolbar">
                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('pim/test2/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('pim/test2/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('pim/test2/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
                        <div class="dropdown btn-group {:$auth->check('pim/test2/multi')?'':'hide'}">
                            <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
                            <ul class="dropdown-menu text-left" role="menu">
                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
                            </ul>
                        </div> 
                    </div>
                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
                           data-operate-edit="{:$auth->check('pim/test2/edit')}"
                           data-operate-del="{:$auth->check('pim/test2/del')}"
                           width="100%">
                    </table>
                </div>
            </div>
        </div>

例:当前时间为2023-01-07

时间区间如下:

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

 页面展示数据信息

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

否则展示

 <div style="color:red;text-align:center;">不在时间范围内,无法查看</div>

例:当前时间为2023-01-07

时间区间如下:

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

 页面不显示数据信息,进行提示

fastadmin自定义添加系统配置,实现只能在规定日期显示数据

  注:

这一段信息资料来源于:https://www.meiwen.com.cn/subject/cmhcfqtx.html

对于使用Config类,需在使用之前引入

use think\Config;

Config类的全部方法在thinkphp/library/think/Config.php查看。
Config类与config助手函数分别实现相同的功能。

1.获取所有配置信息

$conf = Config::get();
$conf = config();

2.获取某个配置信息

$conf = Config::get("key");
$conf = config("key");

3.设置配置信息

Config::set("key", "value");
config("key", "value");

4.设置作用域的配置信息,其中index为作用域名称

Config::set("key", "value", "index");
config("key", "value", "index");

5.检测某个配置项是否有配置或者配置为null

$conf = Config::has("key");
$conf = config("?key");
                       

点击阅读全文

上一篇 2023年 5月 27日 am11:13
下一篇 2023年 5月 27日 am11:13