bes/mobiledetect-twig-extension

MobileDetect 对 Twig 的集成

安装量: 210,750

依赖项: 0

建议者: 0

安全: 0

星标: 19

关注者: 3

分支: 8

开放问题: 2

类型:twig-extension

v1.0.3 2017-11-05 21:51 UTC

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 }}