JoomlaCamp 2018 Essen - 03.02.2017 in Essen

Umleitung per Button je nach Gerät

    Umleitung per Button je nach Gerät

    Hallo Joomlafans,

    ich brauche mal Eure Hilfe zu einem PHP Script.

    Ich möchte eine Callto Action nach dem Motto <a href="callto:123456">123456</a> erstellen.Der Button hat einen anderen Namen als die Telefonnummernanzeige.
    Es soll jedoch vorher geprüft werden, welches Gerät die Anweisung aufruft. Also Android, iphone etc., oder Desktop Gerät.Daraufhin soll der Script entscheiden, ob die Action also der Anruf aufgerufen wird, oder
    eine kleines Popup mit der Anzeige der Rufnummer erscheint. Hintergrund ist, nicht alle Desktop PC können Anrufe tätigen.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „wegwb“ ()

    In Joomla kannst das so:

    Quellcode

    1. $app = JFactory::getApplication();
    2. if ($app->client->platform == $app->client::ANDROID)
    3. {
    4. echo 'Ich bin ANDROID' . "\n\n";
    5. }
    6. if ($app->client->mobile)
    7. {
    8. echo 'Ich bin mobil' . "\n\n";
    9. }
    10. if ($app->client->browser == $app->client::FIREFOX)
    11. {
    12. echo 'Ich bin FIREFOX' . "\n\n";
    13. }

    Die Konstanten findest in Joomla-Klasse WebClient (WebClient.php).

    Ehemals JBrowser ist veraltet!

    Desktop Gerät ist heutzutage kein Kriterium für kann/kann nicht.
    Zum Testen hat sich FF AddOn "User Agent Switcher" bewährt. Geht aber nat. auch mit Chrome, wenn man weitere Geräte im Untersuchen-Tool nachlädt.

    Andere Variante github.com/serbanghita/Mobile-Detect verwenden/einbinden. Leider sind Plugins, die das in Joomla integrieren meines Wissens nicht immer aktuell gehalten. Muss man sich also ggf. selber drum kümmern.

    EDIT: Was es sonst so noch gibt außer o.g. Eigenschaften, kannst mit einem

    Quellcode

    1. echo 'DEBUG '.print_r($app->client, true);exit;

    ausgeben. Musst darauf achten, dass man eine Eigenschaft zuerst aufrufen muss, bevor sie im Joomla\Application\Web\WebClient Object gefüllt wird.

    Quellcode

    1. $app->client->engine

    Dann Debug-Zeile.
    Joomla-Fachmann: ghsvs.de

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Re:Later“ ()

forum.joomla.de is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.