Hallo, ich habe soeben (versucht) die neue Version vom Mobile Candy (v1.2.8) installiert. Der Updater lief bis zum Ende durch OHNE einen Fehler zu melden. Die vorherige Mobile-Version war 1.1.4. Nach Aufruf auf einem üblichen Smartphone bekomme ich die Mitteilung, dass der Shop offline wäre. Weiß jemand, woran dies wiederum liegt ? Die USERMOD-Dateien haben ich an die neuen Dateien angepasst. Vielen Dank im Voraus.
Scheinbar gibt es da ein kleines "Logik-Problem": In der index.html sollte folgenden stehen: Statt PHP: ...{if SHOP_OFFLINE} {html_shop_offline} {else}... umschreiben in: PHP: ...{if not SHOP_OFFLINE} {html_shop_offline} {else}...{/if}... Verstehen tu ich zwar nicht so ganz, warum... Aber so funktioniert das zumindestens bei mir.
Davon abgesehen, dass die Syntax if not falsch ist, es müsste != heißen, befindet sich in der Smarty Variable html_shop_offline der Text für den Offline-Modus. Demnach würdest du jetzt im Online-Modus den Offline-Text anzeigen, korrekte Syntax vorausgesetzt. Offenbar hast du jedoch ein anderes Problem. Denn im MobileCandy 1.2.8 sieht die if-Anweisung eigentlich so aus: PHP: {if $smarty.const.SHOP_OFFLINE} {html_shop_offline} {else}
Hallo KlausK als Alternative kann man zu dem ! Operator wohl auch not (wie in anderen Programmiersprachen üblich) schreiben. (Link nur für registrierte Nutzer sichtbar.) Aber du hast recht. Es muss natürlich{if $smarty.const.SHOP_OFFLINE} heißen. Warum in meiner USERMOD jetzt da shop_offline die ganze Zeit drin stand, kann ich nicht sagen.
In der gm_offline.php findest du jedenfalls folgendes: PHP: // Reverse the value of the $_POST['shop_offline'] parameter because since v2.5.1.0 the UI checkbox stands // for the "current shop state" while before it used to stand for the "enable shop offline mode". This is // a quick fix because it is not possible to change the GM_SHOP_OFFLINE config name due to dependencies in // other sections of the app.$_POST['shop_offline'] = ($_POST['shop_offline'] == 'checked') ? '' : 'checked'; Funktionieren tun jedenfalls beide Versionen.
NOT ist ein logischer Operator, während != ein Vergleichsoperator (ungleich) ist. Das ist auch in Smarty so. Logische OPs werden für boolesche Werte eingesetzt, Vergleichs-OPs für andere Datentypen, hier z.B. 'String' - wie 'checked' einer ist! Ich hatte übrigens != geschrieben, nicht ! Hast du vielleicht noch andere Usermods am laufen? Wirklich alle Caches geleert? Cache vom Smartphone-Browser geleert? Ich habe mit meinem Nexus regelmäßig ähnliche Probleme.
Wenn man wie ich davon ausgeht, dass shop_offline wie ein boolean-var interepretiert werden kann, dann sollte meine Negierung ja passen. *g Aber dann müsste das ja eigentlich so heißen: {if SHOP_OFFLINE != 'checked'} weil SHOP_OFFLINE ja entweder 'checked' oder einen Nullstring enthält. lol Verstehen tut ich aber meine geniale if anweisung trotzdem nicht, oder warum kann ich dann genau so gut schreiben PHP: if not SHOP_OFFLINE ? Naja, war wohl eher ein glücklicher Zufall, dass diese Konstruktion funktioneiert hat. Also angezeigt wird jetzt die mobile Version dank deines Hinweises. Weißt du eigentlich, ob das Payone-Modul mittlerweile auch für das Mobile Template funktioniert ? Bisher habe ich nur Paypal und Vorkasse als Bezahlmöglichkeiten. Ich habe nur so ein olles Motorola, da teste ich lieber mit testmobile.me. Da habe ich dann alle Geräte.