找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 241|回复: 0
打印 上一主题 下一主题

thinkPHP商城公告功能开发问题分析

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:30:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例分析了thinkPHP商城公告功能开发问题。分享给大家供大家参考,具体如下:
效果如下

1.定在头部
position: fixed;
z-index: 999;
top: 0;
opacity:1;
2.ajax处理json数据
// 获取商城公告
function getNotice() { // 获取公告函数
  var res;
  $.ajax({
    type: "OST",
    url: "{sh::U('Store/Mall/ajaxGetNotice',array('mid'=>$mid))}",
    dataType:'json', // 设为json之后,就能够很好的处理获取的json数据,json.status
    async: false,
    success: function(json){
      res = json;
    }
  });
  return res;
}
设置dataType:'json'之后,json数据就直接可以通过json.的方式处理了。
3.最后加载,页面更好看。
$(document).ready(function(e) { // 主函数
  // 获取公告
  var action_name = "{sh::ACTION_NAME}"; // 页面使用thinkphp常量
  var json = getNotice();
  if ( action_name == 'index' && json.status == 1) { // 首页并且公告存在
    $(".top").css("margin-top", "70px"); // jquery设置css
    $(".main-sidebar").css("top" ,"70px");
    var html = '';
    $.each(json.info, function(i, n){ // n为文本内容
      html += "
  • "+n.content+""
        });
        $(".top-notice").show();
        $('#notice ul').html(""+html);
        $('#notice').unslider(); // 轮播
      }
    });
    4.获取sql语句的thinkphp处理
    // 获取公告
    function ajaxGetNotice() {
        if (IS_AJAX) {
          $this->mid;
          // 获取有效的,且结束时间大于当前时间的,或者日期等于0的公告
          $mallNoticeModel = M('Mall_notice');
          $where['mall_id'] = $this->mid;
          $where['status'] = 1;
          $where['endtime'] = array(array('eq',0),array('gt',time()), 'or') ;
          //SELECT * from sh_mall_notice where mall_id = 9 and status = 1 and (endtime = 0 or endtime>1458354366);
          $notice = $mallNoticeModel->where($where)->order('sort desc')->select();
          if (!empty($notice)) {
            $this->ajaxReturn(array('status'=>'1','info'=>$notice,'msg'=>"获取成功"),'JSON');
          } else {
            $this->ajaxReturn(array('status'=>'2','info'=>$notice,'msg'=>"公告不存在"),'JSON');
          }
        }
    }
    $where['endtime'] = array(array('eq',0),array('gt',time()), 'or') ;
    巧妙的处理了这种逻辑关系。
    更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。
    希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
                
                
    您可能感兴趣的文章:
  • thinkphp实现图片上传功能
  • thinkPHP实现MemCache分布式缓存功能
  • ThinkPHP3.2.2实现持久登录(记住我)功能的方法
  • thinkphp框架实现数据添加和显示功能
  • Thinkphp实现短信验证注册功能
  • thinkPHP订单数字提醒功能的实现方法
  • thinkPHP交易详情查询功能详解
  • thinkPHP统计排行与分页显示功能示例
  • thinkphp实现分页显示功能
  • Thinkphp整合微信支付功能
  • php+mysql+jquery实现日历签到功能
  • ThinkPHP+jquery实现“加载更多”功能代码
  • thinkPHP实现签到功能的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端