Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

Mobile Weiche / manuell auf Desktop Version umstellen

Eingetragen von matten (3)
am 19.08.2015 - 12:56 Uhr in
  • Anfängerfragen
  • Drupal 7.x oder neuer

Hallo zusammen,

ich bin am verzweifeln. Ich versuche, eine Weiche zu programmieren die zwischen "Mobil" und "Desktop" Website unterscheidet (es gibt zwei unterschiedliche Sites je nach aufrufendem Gerät). Dazu verwende ich eine PHP Klasse. Grundsätzlich funktioniert die Unterscheidung auch. Das Problem kommt, wenn ich auf der mobilen Seite "manuell" auf die Desktop Version wechseln will. Ich habe ein "$forceDesktop" eingebaut für die index.php. Jedoch springt bei jedem Link, den ich dann vom mobilen Gerät aus auf der Desktop-Version der Seite öffne dann wieder die mobile Seite an. Wie bringe ich dem ganzen bei, auf der Desktop Seite zu bleiben?

Hier mein Code:

<?php
require_once 'mobile_detect/Mobile_Detect.php';
$detect = new Mobile_Detect;
$mobile=false;

if (
$detect->isMobile()) {
   
$mobile=TRUE;
}

if (isset(
$_SESSION["mobile"])) {
if (
$_SESSION["mobile"]==0) {
   
$mobile=FALSE;
}
}

if (isset(
$_GET["forceDesktop"])){
   
   
// Zeige unbedingt Mobil oder Desktop
   
   
if ($_GET["forceDesktop"]==1) {
       
       
// unbedingt Desktop zeigen
       
$mobile=FALSE;
       
       
$_SESSION["mobile"]=0;
       
    } else {
       
       
// unbedingt Mobil zeigen
       
$mobile=TRUE;
    }
   
}

// Any mobile device (phones or tablets).
if ($mobile){
    
header("Location: http://www.tinahaertel.de/MobileSeite/TinaMobil.html");
     exit();
} else {
   
   
/**
     * Root directory of Drupal installation.
     */
   
define('DRUPAL_ROOT', getcwd());

    require_once
DRUPAL_ROOT . '/includes/bootstrap.inc';
   
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
   
menu_execute_active_handler();
}
?>

Ich hoffe, ich habe mich klar ausgedrückt und es kann mir jemand helfen.

Gruß,
Matthias

‹ View Taxonomie Begriff Filterkriterien Taxonomie-abhängig ausspielen [gelöst]Ausblenden des Durchsuchen Buttons funktioniert nicht ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Warum mußt Du das denn so

Eingetragen von wla (9461)
am 19.08.2015 - 13:58 Uhr

Warum mußt Du das denn so lösen? Das geht auch über das Modul Breakpoints. Dann bist Du nicht mehr von einem echten mobilen Gerät abhängig sondern nur noch von der Breite und kannst alles am Desktop testen. Für weitere Abhängigkeiten, wenn Du Blöcke in Abhängigkeit von der Breite des Displays zeigen möchtest, kommst Du mit den Modulen Context und Context-Breakpoints weiter. Du solltest Dann aber auf die "normale" Blockverwaltung von Drupal verzichten, da Context eine eigenständige Blockverwaltung darstellt mit mehr Möglichkeiten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, das widerspricht

Eingetragen von Hyp1 (1463)
am 19.08.2015 - 14:20 Uhr

Hallo,

das widerspricht sich:

Zitat:

Jedoch springt bei jedem Link, den ich dann vom mobilen Gerät aus auf der Desktop-Version der Seite öffne dann wieder die mobile Seite an. Wie bringe ich dem ganzen bei, auf der Desktop Seite zu bleiben?

Du frägst ja in der Desktop Version ab, ob es ein mobiles Gerät ist und machst dann einen Redirekt zur Mobilen Seite.
Da Du ein Mobiles Gerät verwendest, funktioniert es doch.
Mit einem Desktop Browser bleibst Du auch auf der Desktop Version.
Du könntest evtl. selbst einen Link machen und eine Session setzten wo der User selber entscheiden kann, welche Seite er sehen möchte.

Gruss

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das ist ja das Problem. Wenn

Eingetragen von matten (3)
am 19.08.2015 - 17:32 Uhr

Das ist ja das Problem. Wenn ich auf der mobilen Seite explizit sage, dass ich die Desktopversion sehen möchte dann soll natürlich auch bei weiterführenden Links auf der Desktop Seite diese aktiv bleiben. Wie kann ich das mit einer Session Variablen machen? Ich versuche es ja gerade aber geht nicht. Sobald ich 'session_start()' verwende geht die Desktopseite nicht mehr ('not authorized').

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es geht um ein losgelöstes

Eingetragen von matten (3)
am 19.08.2015 - 22:15 Uhr

Es geht um ein losgelöstes mobiles Seitenkonzept. Die mobile Seite soll nichts mit der Desktopseite zu tun haben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielleicht versuchen im Fall

Eingetragen von Stefan.Korn (286)
am 20.08.2015 - 10:56 Uhr

Vielleicht versuchen im Fall von Force Desktop mit header("Location: ...") auf die Drupalseite zu wechseln und damit dann die Weiche komplett zu umgehen?

Wegen session_start(): Ich denke Drupal mag das nicht wenn vorher schon eine Session gestartet wird. Du könntest ggf. auch versuchen den Session-Parameter erst in Drupal zu setzen oder nach dem Drupal-Bootstrap. Ob das geht weiß ich nicht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

wla schrieb Warum mußt Du das

Eingetragen von Dorothea_Z (198)
am 10.07.2019 - 10:12 Uhr
wla schrieb

Warum mußt Du das denn so lösen? Das geht auch über das Modul Breakpoints. Dann bist Du nicht mehr von einem echten mobilen Gerät abhängig sondern nur noch von der Breite und kannst alles am Desktop testen. Für weitere Abhängigkeiten, wenn Du Blöcke in Abhängigkeit von der Breite des Displays zeigen möchtest, kommst Du mit den Modulen Context und Context-Breakpoints weiter. Du solltest Dann aber auf die "normale" Blockverwaltung von Drupal verzichten, da Context eine eigenständige Blockverwaltung darstellt mit mehr Möglichkeiten.

Hallo Werner,
Ich würde gerne auch eine mobile Version meiner Drupal (7) Website erstellen. Leider ist mir noch nicht ganz klar, wie ich mit dem Modul "Context" bei Aufruf der Domain www.m.musterseite.de dann ein entsprechendes Theme starte, das speziell für Mobile Geräte gedacht ist. Ich habe ja keine Lust, die ganze Website neu parallel einzugeben...
Das müsste mit dem Modul ja irgendwie möglich sein - nur leider habe ich noch nicht entdeckt, wie das genau geht.
Danke für Hinweise!
LG
Dorothea

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi. In D7 wird das Theme in

Eingetragen von Hyp1 (1463)
am 10.07.2019 - 11:49 Uhr

Hi.

In D7 wird das Theme in der Variablen Tabelle gespeichert.

$theme_default = 'mytheme';
  // The below code would change the default active theme to 'mytheme'
  variable_set('theme_default', $theme_default);
  $admin_theme = 'shiny';
  variable_set('admin_theme', $admin_theme);

https://stackoverflow.com/questions/8151062/change-the-active-drupal-7-t...

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Dorothea_Z Man nimmt für die

Eingetragen von wla (9461)
am 10.07.2019 - 12:38 Uhr

@Dorothea_Z
Man nimmt für die mobile Darstellung einer Webseite meist kein eigenes Theme, sondern steuert über Media Queries im CSS das Aussehen bei unterschiedlichen Geräten. Dazu verwendet man Breakpoints an denen z.B. die Bilder in einer kleineren Größe ausgegeben werden. Context geht darüber hinaus, indem es Dir mittels Context_Breakpoints erlaubt, die Anordnung von Blöcken auf der Seite zu steuern bzw. Blöcke wegzulassen oder auszutauschen. Die Inhalte sind dieselben wie in der normalen Ansicht. Der Unterschied liegt nur darin, wie und ob sie gezeigt werden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 1 Woche 2 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Woche 2 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 2 Stunden
  • Hey danke
    vor 9 Wochen 21 Stunden
  • Update: jetzt gibt's ein
    vor 9 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 9 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 9 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 10 Wochen 3 Tagen
  • In der entsprechenden View
    vor 10 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 10 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20462

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 25 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association