bes / mobiledetect-twig-extension
MobileDetect 对 Twig 的集成
v1.0.3
2017-11-05 21:51 UTC
Requires
- php: >=5.3.0
- mobiledetect/mobiledetectlib: ~2
- twig/twig: ~2
This package is not auto-updated.
Last update: 2024-09-23 15:21:51 UTC
README
"Mobile Detect" 对 Twig 的集成
安装
composer require "bes/mobiledetect-twig-extension:1.*"
并注册扩展
独立的 Twig
$twig->addExtension(new Bes\Twig\Extension\MobileDetectExtension());
Silex
太好了,你不需要 ServiceProvider!
在注册 TwigServiceProvider 后添加以下代码
$app['twig'] = $app->share($app->extend('twig', function($twig) { /* @var $twig \Twig_Environment */ $twig->addExtension(new Bes\Twig\Extension\MobileDetectExtension); return $twig; }));
... 完成了!
Symfony3
太好了,你不需要 Bundle!
将以下代码添加到你的 services.yml 中,例如 src/<vendor>/<your>Bundle/Resources/config/services.yml
或全局在 app/config/config.yml
services: twig.mobile_detect_extension: class: Bes\Twig\Extension\MobileDetectExtension tags: - { name: twig.extension }
... 完成了!
示例
渲染不同的布局
{% extends is_mobile() ? "layout_mobile.html.twig" : "layout.html.twig" %}
检查设备类型
{% if is_mobile() %} ... {% endif %} {% if is_tablet() %} ... {% endif %}
或者
{% if is_mobile() and is_samsung() %} ... {% endif %}
你可以使用以下方式获取所有已知设备的列表
{{ get_available_devices()|join("<br />")|raw }}