使用 Smarty PHP 模板构建移动网站
我有一个使用 smarty 的定制应用程序。我需要我的应用程序支持移动设备(iphone、driods 等...)我知道一般的网络看起来不错,而且在很多情况下我可以使用 CSS hacks,但是 Smarty 中有没有一种方法可以检测浏览器是什么被使用然后根据该请求提供模板?
一种类型的模板用于: - 台式机和笔记本电脑 另一个用于 -智能手机
I have a custom built app that uses smarty. I need my app to support mobile devices (iphones, driods etc...) I know that the general web looks ok, and that also in many cases I can use CSS hacks, but is there a way in Smarty to detect what browser is being used then serve up templates based on that request?
One type of template for:
-Desktops and Laptops
Another for
-Smart Phones
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以在 Smarty 中使用纯 PHP:
或者,您可以创建一个 Smarty 插件。我记得它是这样的:
查找有关编写插件的更多信息在 Smarty 网站上。
You can use plain PHP in Smarty:
Alternatively, you can create a Smarty plugin. I recall it is something like this:
Look for more information on Writing plugins on the Smarty site.
更好的方法是根据用户代理/设备加载模板集,例如:
或者像这样更动态:
这里的 $device 可以有多精细,取决于应用程序的需求。
way more better, would be to load the set of templates based on the user agent / device, so for example:
or more dynamic like this:
how granular $device here can be, depends on the application needs.
普通 PHP 在 Smarty 3 中已被弃用,不要使用它!
您可以使用库,例如 Mobile Detect 或 检测移动浏览器。
在
plugins
目录中创建一个插件,function.detect_mobile.php
:然后在模板文件中使用它:
Plain PHP is deprecated in Smarty 3, don't use it!
You can use a library, such as Mobile Detect or Detect Mobile Browsers.
Create a plugin in
plugins
directory,function.detect_mobile.php
:Then use it in the template file: