jQuery MsgBox ... möglich?

Thema wurde von Manni_HB, 24. März 2013 erstellt.

  1. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
  2. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Was willst Du wo damit machen?

    Das ist im Grunde ein Ersatz für Javascript "alert"- oder "confirm"-Boxes.

    Der Einbau selbst ist nicht schwierig...
     
  3. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    #3 Manni_HB, 24. März 2013
    Zuletzt bearbeitet: 24. März 2013
    Zum Bleistift die möglichen Login-Meldungen - siehe Bild
    Wobei diese auch schon vom mir ist ... allerdings nicht mehr zeitgemäß und steinalt!
    Auch Meldung im checkout wenn mal wieder PP-Abbruch ist ... steht oben ganz verschämt!
    Hallt alle $error-Msg - sind sind ja im Original von ergreifender Schlichtheit!

    WINFRIED - für uns Erdlinge ist manches anders als in deinem Universum!! :(
     

    Anhänge:

  4. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Wenn Du da selbst schon eigene Boxen im Javascript erzeugt hast, dann kannst Du die sicher einfach durch ein anderes Modul anzeigen lassen,

    Schwierig wird es bei den anderen vorhandenen "alert"- oder "confirm"-Meldungen, weil man die alle im Quellcode anpassen müsste.

    Das ist m.E. eher etwas für eine neue Gambio-Version, die das entsprechend vorsieht....

    Das Javascript selbst kopiert man nach "EyeCandy\usermod\javascript\Global\", dann wird das automatisch mitgeladen.
     
  5. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Wir beide wissen, dass dies erst unsere Enkel zu Gesicht bekommen werden - frühestens!! :(
    Das andere ist bei uns bereits mit der Uralt-Methode realisiert. Ich fange alle $error im Template ab und bringe sie mit meiner Funktion auf den Schirm.
    Nur - dieser hübsche "IchKommeInDenBildschirm-Effekt" ... <Grübel ON!!>
     
  6. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Auf der Ebene solltest Du das auch als ERDLING dann einfach ersetzen können.

    Ist eigentlich eine gute Idee....

    Und wenn man das über einen Smarty "PreFilter" realisiert, muss man nicht in jedes Template eingreifen, sondern kann das zentral umsetzen...

    Haste mich wieder angefixt.... :mad:
     
  7. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Da bin ich mir nicht soo sicher!?
    Die $error-Texte sind alle über "Texte bearbeiten" editierbar.
    Und so habe ich diesen Texten ein "@red@bla bla" oder auch ein "@green@bla bla" voran gestellt. Dies wird in meiner Fkt. ausgewertet und wieder abgetrennt und die jeweilige CSS-Datei geladen.
    WEIL: Es gibt ja auch Erfolgsmeldungen - siehe z.B. Newsletter an/abmelden. Und so haben rote, grüne und graue Meldungsfensterchen
     
  8. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Das sollte dennoch funktionieren...

    Wobei es m.E. aber sogar ausreicht, die Smarty "fetch"-Methode zu überladen und darin die entsprechenden Template-Variablen ($error, $info, $success usw.) wie notwendig zu manipulieren...
     
  9. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Ich habe das mal wie beschrieben (updatesicher) implementiert, indem die Smarty-"fetch"-Metode dahingehend überladen wird, dass sie die Gambio-Meldungen so umsetzt, dass für die Anzeige das jQuery-Modul "jNotify" verwendet wird...

    Dabei werden "error"-, "info"- und "succes"-Meldungen (wie sie Gambio erzeugt) unterschieden, und anders dargestellt (über eine CSS-Datei konfigurierbar).

    Das Verhalten des "jNotify"-Moduls kann mit Hilfe einer Parameterdatei definiert werden;

    PHP:
    var jNotifyParameters={
      
    autoHide false,                 // Notify box auto-close after 'TimeShown' ms ?
      
    clickOverlay true,              // if 'clickOverlay' = false, close the notice box on the overlay click ?
      
    MinWidth 300,                   // min-width CSS property
      
    TimeShown 3000,                 // Box shown during 'TimeShown' ms
      
    ShowTimeEffect 200,             // duration of the Show Effect
      
    HideTimeEffect 200,             // duration of the Hide effect
      
    LongTrip 15,                    // in pixel, length of the move effect when show and hide
      
    HorizontalPosition 'center',    // left, center, right
      
    VerticalPosition 'top',         // top, center, bottom
      
    ShowOverlay true,               // show overlay behind the notice ?
      
    ColorOverlay 'black',           // color of the overlay
      
    OpacityOverlay 0.5,             // opacity of the overlay
      
    onClosed null,
      
    onCompleted null
    }
    Als Beispiel mal eine Login-Fehlermeldung:

    jNotify.gif

    Ich werde jetzt noch die Standard-Javascript "alert"- und "confirm"-Methoden überladen, damit die auch attraktiver angezeigt werden....
     
  10. Danny

    Danny Erfahrener Benutzer

    Registriert seit:
    17. Juni 2011
    Beiträge:
    1.398
    Danke erhalten:
    179
    Danke vergeben:
    213
    Sieht prima aus....warum kann Gambio das nicht gleich für die nächste Version übernehmen....:(? Finde diese Methode bei weitem atraktiver!

    Super Arbeit!;)
     
  11. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Ja ist denn schon wieder Weihnachten!??! :)
    Sieht doch irgendwie "anständiger" aus als die Standard-Meldungen! [Vorfreude ON]
     
  12. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Für die "alert"-Box habe ich eine Lösung gefunden, so dass die "alerts" jetzt auch gefälliger angezeigt werden können...

    jNotify_alert.gif

    Mit den "confirm"-Boxen ist das schwieriger, da ja die Ausführung des Javascripts angehalten werden muss, bis eine Entscheidung getroffen wurde,

    Die werden ja i.d.R. so verwendet:

    PHP:
    if (confirm('blablabla'))
    Und die Javascript-Ausführung kann man mit jQuery nicht blockieren...

    Jemand eine Idee?
     
  13. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Im Anhang eine erste Version der neuen Funktionalität...

    Inhalt des Archivs in die Shop-Root kopieren.

    Weitere Info gibt es in "Anzeige von (Fehler-)Meldungen in jQuery-Boxen.pdf".

    Wie immer gilt:

    • Anwendung auf das ausschließliche Risiko des Shopbetreibers.
    • Es gibt keinerlei Gewährleistung.
    • Erst in einem Testshop testen.
    • Cache leeren.
     

    Anhänge:

  14. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Upps .. eben mal im TestSys probiert: Alle anderen JS-Scripte streiken ... nix WK! :(
     
  15. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Haste mal nen Link?
     
  16. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Habe mir das mal im Testshop angesehen.

    Das scheint einen anderen Grund zu haben...

    Javascript Fehlermeldung auf der Detailseite; "Uncaught ReferenceError: CombiStatusCheck is not defined".

    mueller_test.gif

    Da funktioniert auch kein Javascript mehr, z.B. der kleine Warenkorb...

    Auf allen anderen Seite geht der, obwohl dort meine gleichen Javascripte geladen werden.
     
  17. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Und was zum Henker habe ich mit "Combis" zu tun - die sind nirgends aktiv! :(
     
  18. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    So, bin jetzt einen Schritt weiter, die Fehlermeldungs-Anzeige funktioniert jetzt erst einmal...

    login_error.gif

    Anscheinend übergibst Du Deine Meldung als "info"-Smarty-Variable,

    Wenn Du die als 'error' oder 'error_message' oder 'GM_ERROR' oder 'gm_error_message' übergibst, dann kannst Du Dein "@red@" weg lassen, weil die dann automatisch als Fehler formatiert werden.

    Zur Erinnerung:

    Info-Meldungen werden erzeugt für 'info'- oder 'info_message'- Smarty-Variablen

    Success-Meldungen werden erzeugt für 'success'- oder 'success_message'- Smarty-Variablen

    Anscheinend war die alte Version meines Skripts doch die Ursache für die Fehlfunktion der Detailseite, jetzt geht das auch wieder :D.

    Immer wieder erstaunlich, was es da für Nebenwirkungen geben kann, an die man nicht im Traum denkt.....

    Im Anhang die aktuelle Version.

    Wie immer gilt:

    • Anwendung auf das ausschließliche Risiko des Shopbetreibers.
    • Es gibt keinerlei Gewährleistung.
    • Erst in einem Testshop testen.
    • Cache leeren.
     

    Anhänge:

  19. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    STARK !!!

    >Dein "@red@" weg lassen,...
    Tja - damit wollte ich eigentlich die Farbe der Meldungen unterscheiden. Ist vielleicht auch der Spielerei zu viel!? :(

    Kleiner Verbesserungs-Wunsch:
    Die InfoMeldungen gehen weg, egal wo man im Bildschirm klick. Wäre es nicht besser, dass es nur in dem Meldungsfenster geht?
     
  20. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Das geschieht ja automatisch auf Grund des Smarty-Namens, in dem Du die Meldung übergibst.....

    Übergib ihn mit

    PHP:
    $smarty->assign('error','Meine Fehlermeldung');
    dann wird der automatisch im "Fehler-Look" angezeigt...

    Dazu kannst Du in "templates\EyeCandy\usermod\javascript\Global\jNotify.jquery.parameters.js" den Parameter "clickOverlay : false" setzen