昨天的文章TP根据浏览器类型自动切换不同的模板的一种方法,里面的确解决了同一Module下共用相同的Action,根据不同的浏览器自动选择不同的Tpl模板。

        不过今天发现还是有个问题,当用手机浏览时会产生静态缓存,然后电脑再浏览相同的网页,发现网页是手机版的。原因就是静态缓存时间未到,因此采用了手机浏览时产生的静态缓存网页,而不是新生成缓存文件。

        上午百度了半天,网上没一个这种问题的解答。怎么这么典型的问题度娘都不收呢?只能自己想办法解决了。

        最后还算是解决,方案是在index.php里面加入那个ismoble()的函数判断是否手机端,若是则给session设一个$_SESSION['theme']='mobile',否则设为'pc'。这样,再到静态缓存的'HTML_CACHE_RULES'里面,把路径加入个/{$_SESSION.theme}/,生成的缓存文件的路径就会有这个采用的模板的名字,'mobile'或者'pc'了。

        判断不出算不算完美,欲渡他人必先自渡吧。。。

        若众位到访的大侠有更好的方案,还请不吝赐教,非常感谢!