主页 > 编程资料 > Yii >
发布时间:2018-10-20 作者:apizl 阅读:457次

一开始也看了些资料,但是好像都不起作用。所以只能将生成的HTML进行处理,处理为自己需要的伪静态结果。

新增公共静态方法在模板中调用:

 /**
     * 处理分页中伪静态
     * @param $pages
     * @return mixed|string
     * @throws \Exception
     */
    public static function pageDispose($pages)
    {
        $html = LinkPager::widget([
            'pagination' => $pages,
            'nextPageLabel' => '下一页',
            'prevPageLabel' => '上一页',
        ]);
        $preg = '/<a .*?href="(.*?)".*?>/is';
        preg_match_all($preg, $html, $match);
        for ($i = 0; $i < count($match[1]); $i++)
        {
            $array = parse_url($match[1][$i]);
            $pathArray = pathinfo($array['path']);
            parse_str($array['query'], $url_params_arr);
            if (!empty($url_params_arr['page'])) {
                $page = $url_params_arr['page'];
                $filename = $pathArray['filename'] . '-' . $page . '.html';
                $html = str_replace($match[1][$i], $filename, $html);
            }
        }
        return $html;
    }


yii2 将分页url处理为伪静态Rewrite


模板中使用:

  <?= \frontend\controllers\BaseController::pageDispose($pages);
                ?>

main.php配置文件:

 'list-<id:\d+>-<page:\d+>' => 'site/list', //分页


文章由爱资料原创本文地址:https://www.apizl.com/archives/view-148733-1.html,转载请以链接形式标明本文地址!
关键字词: