工学1号馆

home

一种基于thinkphp内置标签的页面自适应的实现方法

Wu Yudong    March 18, 2024     ThinkPHP   52   

今天在项目中实现根据移动端和PC端的访问实现不同的页面布局,不同于自适应的css布局,需求是移动端和PC端的html标签只有一小部分不相同,可以想到的实现方案是利用thinkphp根据不同的使用不同的模板,代码如下:

    //判断pc手机端网页这个不能放在入口文件,可以放在公共控制器的构造方法中
    // 构造 调用该文件先执行这个方法
    public function construct(){
        if (\think\facade\Request::isMobile()) {
            define('VIEW_PATH', DIR . '../app/index/view/mobile/');
        } else {
            define('VIEW_PATH', DIR__ . '../app/index/view/pc/');
        }
    }

这样是可以实现的,但是手机端和PC端访问的页面只有一点html标签不一样,所以想到能否使用tp服务端判断访问的终端是移动端还是PC端

$is_mobile = \think\facade\Request::isMobile();
View::assign('is_mobile', $is_mobile);

然后在前端通过tp的判断标签进行甄别从而使用不同的代码,具体实现如下:

{if condition="$is_mobile eq '0'" }
//实现PC端访问的html
{else /}
//实现移动端访问的html
{/if}

实测可行,这里的

\think\facade\Request::isMobile())

判断是否是移动端(包括ipad和各种手机)

如果文章对您有帮助,欢迎点击下方按钮打赏作者

Comments

No comments yet.
To verify that you are human, please fill in "七"(required)