php - Symfony2 基于与 LiipThemeBundle 一起使用的设备加载内容

标签 php mysql symfony

我需要让我的 Controller 根据所使用的设备使用信息加载不同的皮肤。我可以使用 LiipBundle 加载模板。我想知道我是否也可以加载类似的内容??例如,这是我的 Controller :

public function mainAction() {


    $em = $this->getDoctrine()->getManager();
    $skins = $em->getRepository('MediaparkLtSkinBundle:Skin')->findOneBy( array('id' => 1));

    return $this->render('MediaparkLtMainBundle:Main:main.html.twig', array('skin' => $skins));

    return array();
}

现在这只是在主题上加载 id 为 1 的皮肤。我需要做一个 if 语句并检查用户是否在桌面上,如果是的话然后用这个皮肤加载这个主题......我该怎么做???这是想法:

 public function mainAction() {

        (if using desktop) {

        $em = $this->getDoctrine()->getManager();
        $skins = $em->getRepository('MediaparkLtSkinBundle:Skin')->findOneBy( array('id' => 1));

        return $this->render('MediaparkLtMainBundle:Main:main.html.twig', array('skin' => $skins));
        }

        else {
            $em = $this->getDoctrine()->getManager();
            $skins = $em->getRepository('MediaparkLtSkinBundle:Skin')->findOneBy( array('id' => 2));

            return $this->render('MediaparkLtMainBundle:Phone:Phonemain.html.twig', array('skin' => $skins));

        }

        return array();
    }

我怎样才能做到这一点?

最佳答案

检查用户代理以查看是否有任何移动指示。 Or search for a library that does this .

查看 $_SERVER['HTTP_USER_AGENT']

关于php - Symfony2 基于与 LiipThemeBundle 一起使用的设备加载内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30644634/

相关文章:

php - 无法访问包含文件中的全局变量

caching - 如何使用ESI构建Symfony2应用程序?

symfony - Doctrine 2 模式更新产生 MySQL errno 150,外键约束

Python MySQLdb 空选择查询虽然手动查询执行交付结果

php - 为什么 Symfony 5.1 不能识别 "routes.php"文件上配置的路由?

php - imagerotate() 不起作用

php - 按事件 PHP 显示画廊

php - SQL ORDER BY(开始于)

php - SELECT WHERE id 不检索记录,没有显示

php - 如何构建多站点管理器应用程序?