我需要让我的 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/