wie erhalten ich Informationen darüber, mit welchem Gerät jemand unsere Seite besucht?
Mein Vorhaben: Ich möchte in Abhängigkeit vom Gerät (also Desktop oder Mobil, iOS oder Android, etc…) den Inhalt der Seite anpassen. In der Doc finde ich dazu leider nur den Hinweis auf die Viewpoints, jedoch bin ich mir sicher, dass das auch einfacher geht.
Bisher konnte ich nur den Helper -> DeviceDetection finden, den ich aber im Template anzusprechen nicht in der Lage bin…
Wie löst man sowas, wie erhalte ich den Useragent für gezielte Ausgaben direkt auf der Seite? Wo ist das Ding hinterlegt?
Ich vermute, du willst den Code serverseitig schon nicht erst erstellen, um Ressourcen und Ladezeit zu sparen. Die einfachste Möglichkeit (jedoch sicher nicht die performanteste) ist über Bootstrap Klassen den Inhalt nach Display Resolution zu verstecken bzw. anzuzeigen.
Du kannst aber über diesen Befehl den User-Agent abfragen:
{{ app.request.headers.get('User-Agent')}}
oder mit dieser fertigen Twig Extension arbeiten https://github.com/bes89/mobiledetect-twig-extension. Die bietet alle Funktionen, die du benötigst. Selber jedoch noch nicht getestet. Gerne Erfahrungsberichte, ob das klappt. Brauch ich sicher auch demnächst mal.
Richtig, das einfache Ausblenden der nicht benötigten Elemente anhand von Auflösung/ViewPort will ich vermeiden, es soll nur geliefert werden, was benötigt wird. Mein Gedanke war, es mit den Bordmitteln umzusetzen, da in SW mit DeviceDetection offenbar ein Helferlein dafür existiert. Leider komm ich da nicht dahinter, ob man die Funktionalität in Templates nutzen kann.
Die Abfrage des User-Agents führt leider ebenfalls nicht zum gewünschten Ergebnis. Es wird - zumindest in meiner Testumgebung - hartnäckig ignoriert, ob ich mit Smartphones, unterschiedlichen Browsern, Tablet oder dem Geschirrspüler drauf zugreife… Symfony lässt mich da irgendwie abblitzen
Dann werd ich mich mal auf die Extension schmeissen, sobald ich ne ruhige Minute habe.
bitte entschuldige die späte Antwort! Um ehrlich zu sein, wir haben keine Lösung erarbeitet und unser Vorhaben damals auf Eis gelegt. Mir ist gerade auch nicht klar, was ich damals beabsichtigt habe… Tut mir leid