Bei Verwendung von Drupal 7.14 mit aktiviertem PHP-Filter habe ich Folgendes in einem Inhaltstyp für eine Basisseite:
<?php if ($is_mobile == TRUE):?>
<div class="fb-like-box" data-href="http://www.facebook.com/a page" data-width="710" data-height="600" data-show-faces="false" data-border-color="#73AA4B" data-stream="true" data-header="false"></div>
<?php else: ?>
<div class="fb-like-box" data-href="http://www.facebook.com/a page" data-width="900" data-height="600" data-show-faces="false" data-border-color="#73AA4B" data-stream="true" data-header="false"></div>
<?php endif; ?>
Ich erhalte die Fehlermeldung:
Hinweis: Undefinierte Variable: is_mobile in eval () (Zeile 1 von D: \ sites \ modules \ php \ php.module (80): eval () 'd code).
Ich verstehe irgendwie - ich versuche, eine Variable aus dem Drupal-System zu holen, aber gibt es eine Möglichkeit, dies zu tun? Vielleicht mit Tokens?
Antworten:
Die mobile Erkennung ist nicht in Drupal oder die beliebtesten Themen integriert (ich denke jedoch, dass Adaptive Theme dies tut). Dazu müssen Sie ein Contrib-Modul installieren. Drei Optionen sind Browscap , Mobile Tools und Mobile Detect . Wohin Sie von hier aus gehen, hängt davon ab, welches Modul Sie verwenden.
quelle
$is_mobile
Es scheint, als stamme es aus dem Mobile Detect-Modul, das MPD erwähnt hat. Wenn Sie sich die Projektseite für dieses Modul ansehen, benötigen Sie anscheinend auch die Mobile_Detect-Bibliothek. Hast du das installiert?$is_mobile
wird nicht direkt von Mobile Detect bereitgestellt (ich bin Modulautor ). AT bietet dies sofort an, wenn das Browscap-Modul installiert / aktiviert ist.Ich habe ein sehr einfaches Modul geschrieben , das mobile Benutzeragenten erkennt und eine entsprechende globale Variable festlegt, auf die Sie dann in Ihrer Vorlage zugreifen können.
In Ihrer Vorlage würden Sie sie dann folgendermaßen verwenden:
quelle
Sie können versuchen, mithilfe des Theme Key- Moduls nach dem mobilen Gerät zu suchen .
Es bietet Flexibilität zum Ändern des Themas nicht nur basierend auf dem Gerätetyp, sondern kann auch verschiedene Teile der Site basierend auf unterschiedlichen Bedingungen thematisieren.
Hier ist ein Link zu einem einfachen Tutorial mit themekey.
Wenn Sie gerade mit dem Entwerfen der Website begonnen haben, empfehlen wir Ihnen, das Omega- Design für die Entwicklung zu verwenden, da Sie das Layout ändern und darauf reagieren können (je nach Bildschirmgröße / Auflösung). Es unterstützt auch HTML5.
Es kann gut mit dem Omega Tools- Modul kombiniert werden, um ein Omega-Unterthema über die Benutzeroberfläche zu erstellen.
quelle
In template.php geben Sie diesen Code ein
In node.tpl.php geben Sie diesen Code ein
Danach den Cache leeren.
Quelle: Mobile Browser erkennen
quelle