03 August 2009 ~ 7 Comments | ÄHNLICHE ARTIKEL

[Update] MobilePress hat ausgedient


Diesen Artikel drucken Diesen Artikel drucken
Diesen Artikel vorlesen Diesen Artikel vorlesen

Nachdem ich vor einiger Zeit darüber berichtet habe, wie einfach es ist, mit dem Plugin MobilePress eine mobile Version des eigenen WordPress-Blogs bereit zu stellen, möchte ich heute einmal ein Update zu dem Thema liefern.

Fangen wir von vorne an: Mit der Seite ready.mobi kann man überprüfen, wie gut die eigene Seite auf mobilen Geräten darstellbar ist. Leider fällt die Desktopversion von WeizenSpr.eu in diesem Test kläglich durch:

ready.mobi: WeizenSpr.eu

ready.mobi: WeizenSpr.eu

Wie es scheint, haben sich die Kriterien auf ready.mobi weiterentwickelt, während das damals verwendete MobilePress jedoch in der Entwicklung stehengeblieben ist. Das führt dazu, dass bei mir inzwischen nicht mehr allzu gute Ergebnisse damit erzielt wurden:

ready.mobi: MobilePress

ready.mobi: MobilePress

Aus diesem Grund habe ich nun nach einer Alternative gesucht. Zuerst stieß ich auf das WordPress Mobile Pack, dass sich jedoch bei mir aufgrund angeblich fehlender Schreibrechte nicht installieren ließ. Nachdem ich fast meine gesamte WordPress-Installation unsicher gemacht hatte, um die Installation vielleicht doch durchführen zu können, habe ich es sein lassen und mich weiter umgesehen.

Nach weiterer Suche bin ich nun auf das Plugin WordPress Mobile Edition gestoßen und werde dieses nun erst einmal für mich in Anspruch nehmen. Die Installation ist relativ einfach und besteht aus zwei Schritten:

  • Zuerst kopiert man das enthaltene Theme in den normalen themes-Ordner.
  • Anschließend verschiebt man die Datei wp-mobile.php in den normalen plugins-Ordner und aktiviert dann in der Administrationsoberfläche das Plugin WordPress Mobile Edition.

Als Ergebnis erhält man eine fast perfekte mobile Internetseite. ;-)

ready.mobi: WordPress Mobile Edition

ready.mobi: WordPress Mobile Edition

Anhand des Parameters cf_action kann man nun das Anzeigen der mobilen (Wert: show_mobile) oder der normalen (Wert: reject_mobile) Webseite erzwingen.
Natürlich kann man diese Parameter dank .htaccess-Datei auch wieder wunderbar hinter Subdomains verstecken: in diesem Fall weiterhin Mobile.WeizenSpr.eu und Desktop.WeizenSpr.eu.

Es bedarf allerdings ein paar Anpassungen, um das Plugin wirklich abzurunden. Damit nicht unter jedem Artikel ein Link mit dem Text “Return to the Mobile Edition” angezeigt, der einen von der Desktopvariante zur Mobilvariante zurücklotst, kann man in der Funktion cfmobi_init() die folgende Zeile einfach auskommentieren:

1
add_action('the_content', 'cfmobi_mobile_available');

Als zweites kann man noch das Problem lösen, dass beim Umschalten zur Mobilversion (und vice versa) einfach die Hauptseite angezeigt wird und nicht die Unterseite, auf der man sich gerade befindet. Dazu entfernt man in den Funktionen cfmobi_mobile_exit() und cfmobi_mobile_link() zuerst einmal folgenden Quelltext:

1
'.trailingslashit(get_bloginfo('home')).'

Danach sorgen wir dafür, dass bei Vorhandensein des entsprechenden Parameters direkt die mobile/nicht-mobile Seite angezeigt wird. Bisher wird im ersten Schritt ein Cookie gesetzt und nach der Relocation dieses Cookie ausgelesen und die Seite entsprechend gerendet. Diesen Vorgang können wir durch eine kleine Änderung beschleunigen und gleichzeitig die Relocation rausschmeißen. ;-)
Hierfür gehen wir zuerst einmal in die Funktion cfmobi_check_mobile() und gehen runter bis zur letzten Zeile:

1
return apply_filters('cfmobi_check_mobile', $mobile);

Direkt über dieser fügen wir folgenden Code-Schnipsel ein:

1
2
3
4
5
6
7
8
9
10
if (!empty($_GET['cf_action'])) {
  switch ($_GET['cf_action']) {
    case 'reject_mobile':
      $mobile = false;
      break;
    case 'show_mobile':
      $mobile = true;
      break;
  }
}

Um nun zu verhinden, dass der Redirect stattfindet, gehen wir anschließend in die Funktion cfmobi_request_handler() und kommentieren dort folgenden Codeblock aus:

1
2
3
4
5
6
7
8
9
if ($redirect) {
  if (!empty($_SERVER['HTTP_REFERER'])) {
    $go = $_SERVER['HTTP_REFERER'];
  } else {
    $go = get_bloginfo('home');
  }
  header('Location: '.$go);
  die();
}

Natürlich kann man auch noch beliebige Änderungen am Template vornehmen – welcher meiner Meinung nach übrigens äußerst angenehm strukturiert wurde. Aber das ist eine andere Geschichte. :-D


Update:
Durch die Erkenntnisse, die ich für den Artikel WP Mobile Edition und Subdomains gesammelt habe, konnte ich die Implementierung hier ebenfalls verbessern.


Mobile Grüße, Kenny



Ähnliche Artikel:

  • [Update] WP Mobile Edition und Subdomains
    Nachdem ich letztens darüber geschrieben habe, dass ich nun auf WordPress Mobile Edition umgestiegen bin und dort auch erwähnt habe, dass man die Funktionsweise hinter Subdomains verstecken könne, kam die Frage auf, wie man das denn genau machen k...
  • [Update] SelTheme: Let the User decide!
    Nachdem ich derzeit ein wenig an dem Aussehen von WeizenSpr.eu schraube, brauchte ich eine Möglichkeit, mir den Blog im neuen Design anzusehen. Dafür reicht es im Normalfall aus, der WordPress-URL noch ein paar Parameter anzuhängen: [cc]?preview=1...
  • [Update] Going Mobile
    Und wieder einmal gibt es ein paar Neuerungen im Blog, die ich hier mal in aller Schnelle vorstellen will. Neben offensichtlichen Dingen wie der Shoutbox sind auch eher funktionale Dinge hinzugekommen, wie, dass man nun Kommentar-Verläufe abonnieren...
  • Topsy mit BBCode-Support
    Soderle, nachdem der erste Versuch, den Blog mit Twitter zu verbinden gründlich schief gegangen ist, habe ich nun einen neuen Versuch gestartet, der auch mir einen kleinen Vorteil verschafft. :-) Und zwar habe ich nun das Plugin Topsy Widgets...
  • [Update] WordPress Header-Image abhängig von Uhrzeit
    Wie schon in einem früheren Artikel beschrieben, ist es (zumindest im Kubrick-Theme) relativ einfach möglich, das Header-Bild mit Hilfe von ein bissel PHP-Scripting dynamischer zu gestalten - in meinem Fall wird derzeit z.B. zufällig zwischem dem...


7 Comments to “[Update] MobilePress hat ausgedient”

  1. pEtEr Withoutfield 6 August 2009 at 20:58 Permalink

    Guter Beitrag!
    Habe mich auch für die WordPress Mobile Edition entschieden und bin zufrieden.
    Habe nur noch nicht herausfinden können wie ich eine Subdomain für die Mobile-Version einrichte!?
    Du schreibst: “Natürlich kann man diese Parameter dank .htaccess-Datei auch wieder wunderbar hinter Subdomains verstecken”
    Verrätst du mir wie das funktioniert? :D
    LG, pEtEr

    • Mea Culpa 6 August 2009 at 21:13 Permalink

      Weil du so lieb gefragt hast. :D

      Die .htaccess von Mobile.WeizenSpr.eu sieht wie folgt aus:
      RewriteEngine on
      Options +FollowSymLinks
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ http://weizenspr.eu/$1?cf_action=show_mobile [L,QSA]

      Und bei Desktop.WeizenSpr.eu sieht die .htaccess so aus:
      RewriteEngine on
      Options +FollowSymLinks
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ http://weizenspr.eu/$1?cf_action=reject_mobile [L,QSA]

      • pEtEr 7 August 2009 at 09:47 Permalink

        Hallo,
        vielen danke für die Info! Allerdings ist das nicht ganz das was ich mir vorgestellt habe. Wenn ich es richtig verstehe, bekomme ich das so auch mit einer (Sub)-Domain-Weiterleitung hin.
        Ich suche nach einem Weg, um alle Mobile-Anfragen dauerhaft auf eine Subdoimain umzuleiten, ohne dass beim klicken auf einen Deeplink in der mobile Version wieder über die eigentliche Domain zurückgeleitet wird.
        Hoffe, ich konnte mein Anliegen einigermaßen Verständlich ausdrücken ;)
        Cheers, pEtEr

        • Mea Culpa 7 August 2009 at 10:04 Permalink

          Hatte schon überlegt, ob das eher dem entsprechen würde, was du dir vorstellst. Leider ist das mit meiner (mir vorgegebenen) Serverkonfiguration nicht möglich. Man könnte evtl. versuchen, das ganze durch Einsatz eines kleinen PHP-Scriptes zu ändern. Ich guck’ mal, ob ich was zusammenklöppeln kann.

        • Mea Culpa 7 August 2009 at 13:52 Permalink

          So, wie versprochen, habe ich mir das Subdomain-Problem mal angesehen und eine mögliche Lösung dafür erstellt. Ich hoffe, die Änderungen sind nicht allzu kompliziert geworden.

  2. Hannes Schurig 5 August 2009 at 18:35 Permalink

    Cooler Artikel. Da ich seit nem Monat ein Internethandy habe werde ich in Zukunft auch öfter mit dem Thema zu tun haben und meinen Blog auch mobil-fähig machen, obwohl er bisher recht gut auf dem Handy zu lesen ist.

    mobiReady stuft meinen Blog mit 2 ein… obwohl ich bei jedem Bild ordentlich an der Größe schraube, bevor es reinkommt. Aber ich hab ziemlich viele Bilder ^^

    • Mea Culpa 5 August 2009 at 19:16 Permalink

      Weiter unten auf ready.mobi siehst du, in welchen Punkten die Seite schlecht abschneidet. Da kommen auch noch andere Dinge hinzu wie z.B. die Formatierung der Seite (absolute Positionierung, Tabellen, etc pp.).

      Die eigene Seite ist durch Nutzung des Plugins zwar erstmal nicht mehr ganz so einzigartig, aber dafür mobil wirklich gut lesbar. Habe es nun auch auf coltishWARE.com installiert – die Vorteile überwiegen halt einfach.


Leave a Comment

Dir stehen verschiedene Möglichkeiten zur Verfügung, um deinen Beitrag optisch zu gestalten. Möglichkeiten anzeigen

fett
[b]Text[/b]
blinkend
[blink]Text[/blink]
kursiv
[i]Text[/i]
überstrichen
[o]Text[/o]
durchgestrichen
[s]Text[/s]
runtergestellt
[sub]Text[/sub]
hochgestellt
[sup]Text[/sup]
unterstrichen
[u]Text[/u]
Farbe
[color=Farbe]Text[/color]
Schriftart
[font=Schriftart]Text[/font]
Größe
[size=Größe]Text[/size]
Mail-Adresse
[mail=Adresse]Beschreibung[/mail]
URL-Adresse
[url=Adresse]Beschreibung[/url]
Bild
[img=Adresse]Beschreibung[/img]
143
no-www.org extra-www.org

Datenbank: 76 Abfragen in 0.6980.698 Sekunden