技术饭

tp5分页的?方式如何改为pathinfo模式

copylian    0 评论    17331 浏览    2017.03.06

tp5分页的?方式如何改为pathinfo模式,今天在弄tp5分页的时候发现分页默认采用的是?问号的形式,个人习惯了之前的pathinfo模式,所以就去修改了tp5的分页代码。只要修改url方法 与  getCurrentPage方法,代码修改处仅供参考,请自行进行测试!

/**
     * 获取页码对应的链接
     *
     * @param $page
     * @return string
     */
    protected function url($page)
    {
        if ($page <= 0) {
            $page = 1;
        }

        if (strpos($this->options['path'], '[PAGE]') === false) {
            $parameters = [$this->options['var_page'] => $page];
            $path       = $this->options['path'];
        } else {
            $parameters = [];
            $path       = str_replace('[PAGE]', $page, $this->options['path']);
        }
        if (count($this->options['query']) > 0) {
            $parameters = array_merge($this->options['query'], $parameters);
        }
        $url = $path;
        if (!empty($parameters)) {
            //$url .= '?' . urldecode(http_build_query($parameters, null, ''));
            //分页改动
            $url = url(request()->action(),$parameters);

        }
        return $url . $this->buildFragment();
    }

    /**
     * 自动获取当前页码
     * @param string $varPage
     * @param int    $default
     * @return int
     */
    public static function getCurrentPage($varPage = 'page', $default = 1)
    {
        //$page = Request::instance()->request($varPage);
        //分页改动
        $page = input("param." . $varPage);

        if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int) $page >= 1) {
            return $page;
        }

        return $default;
    }


只袄早~~~
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!

文明上网理性发言!

  • 还没有评论,沙发等你来抢