Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: BETA MODUL: CustomersNotice - Hinweise für Kunden

    timopaul

    • modified Team
    • Beiträge: 371
    • Geschlecht:
    Liebe Community,

    gerne möchte ich hier ein neues Modul vorstellen welches ich in der Form bisher vermisst habe. Es handelt sich dabei um die Möglichkeit für den Shopbetreiber im Administrationsbereich verschiedene Hinweise, die auf jeder oder nur bestimmten Seiten angezeigt werden, zu verwalten. Ins besondere ist es entstanden um Versandhinweise zur Urlaubszeit vorab schon zu konfigurieren und nur für einen bestimmten Zeitraum anzeigen zu lassen. Mit weiteren Funktionen ist es ebenso möglich dauerhaft oder mit manuellem Stop diverse Aktionen nur für einige Kundengruppen anzuzeigen.

    Folgende Features wurden bisher implementiert:
    • mehrsprachig
    • Zeit- und Datumsbegrenzung (sekundengenau)
    • Anzeige für bestimmte Kundengruppen
    • Anzeige auf bestimmten Seiten-Typen
    • verschiedene Templates für die Hinweise
    • konfigurierbare Reihenfolge für mehrere Hinweise

    Zur besseren Vorstellung ein Paar Screenshots:

    Listenansicht in der Administration:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Formular in der Administration:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Zwei Hinweise auf der Startseite im Shop:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Da es sich noch um eine BETA-Version handelt würde ich mich über Kommentare zur Erweiterung, Verbesserung und möglichen Bugs oder Fehlern sehr freuen.

    Zur Projektseite mit Installationsanleitung

    Besten Gruß,
    Timo

    Erweiterung für zusätzliche Hinweis-Positionen:
    • Hier geht es zur Anleitung von Carola: Klick mich!
    • Hier geht es zur Erweiterung als ZIP von Carola: Klick mich!

    Neue Version "nr_csn_reworked_0.1.zip" für Shopversion 2.x:

    [...]
    Auszug aus dem changelog,txt:
    • fixed some minor issues
    • use modified standard objectInfo in /admin/customers_notice.php (fixed not showing info box on the right with first call of script)
    • changed to datetimepicker instead of not used anymore spiffyCal
    • fixed some potential mySQL injection dangers
    • added one-click customer groups selction
    • optimized and simplified query in /includes/external/customers_notice/classes/CustomersNoticeManager.class.php
    • use configuration constant DEFAULT_CUSTOMERS_STATUS_ID_GUEST instead of hard coded 1 in /includes/external/customers_notice/classes/CustomersNoticeManager.class.php
    • gave messages in frontend a container
    • adapted CSS for frontend
    • translated english language file (was in German before)
    [...]

    Optisch verschönerter Countdown:

    Ich habe hierfür mal die Datei für den Countdown optisch aufgewertet / neu aufgebaut, da der Standard ja eher nicht gut ausschaut. Wer es gebrauchen kann. Geht dann in /templates/deintemplate/module/customers_notice/

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Download der Datei:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    [EDIT jannemann 24.06.2014: Modul auf Version 0.2 aktualisiert, danke an timo_paul!]
    [EDIT jannemann 24.06.2014: Countdown Fix für Version 0.2 hinzugefügt, danke an timo_paul!]
    [EDIT Tomcraft 07.07.2014: Countdown Fix gelöscht, da in Version 0.3 bereits enthalten.]
    [EDIT Tomcraft 07.07.2014: Modul auf Version 0.3 aktualisiert, danke an timo_paul!]
    [EDIT Tomcraft 10.04.2015: Modul auf Version 0.4 aktualisiert, danke an timo_paul!]
    [EDIT Tomcraft 24.04.2016: Modul Version 0.3 für Shopversion 2.x eingefügt, danke an kgd!]
    [EDIT Tomcraft 25.04.2016: Modul Version 0.3 für Shopversion 2.x aktualisiert, danke an kgd!]
    [EDIT Tomcraft 12.05.2016: Modul Version 0.4 für Shopversion 2.x aktualisiert.]
    [EDIT Tomcraft 28.02.2018: Modul Version 0.4 für Shopversion 2.x aktualisiert.]
    [EDIT Tomcraft 05.03.2018: Modul auf Version 0.5 aktualisiert, danke an p3e!]
    [EDIT Tomcraft 05.03.2018: Modul Version 0.5 für Shopversion 2.x aktualisiert]
    [EDIT Tomcraft 06.03.2018: Modul Version 0.5 für Shopversion 2.x aktualisiert, danke an p3e!]
    [EDIT Tomcraft 29.08.2018: Modul Version 0.5 für Shopversion 2.x aktualisiert, danke an Steini200!]
    [EDIT Tomcraft 06.11.2019: Anleitung für zusätzliche Hinweis-Positionen verlinkt, Danke an Carola.]
    [EDIT Tomcraft 06.11.2019: Modul Version 0.5 für Shopversion 2.x aktualisiert, danke an kgd!]
    [EDIT Tomcraft 07.11.2019: Erweiterung für zusätzliche Hinweis-Positionen verlinkt, Danke an Carola.]
    [EDIT Tomcraft 22.03.2020 Überarbeitete Version 0.1 von noRiddle ergänzt.]
    [EDIT Tomcraft 22.03.2020 Überarbeitete Version 0.1 von noRiddle aktualisiert.]
    [EDIT Tomcraft 23.03.2020 Überarbeitete Version 0.1 von noRiddle aktualisiert.]
    [EDIT Tomcraft 14.12.2020: Überarbeitete Version 0.1 von noRiddle aktualisiert.]
    [EDIT Tomcraft 22.03.2020 Überarbeitete Version 0.2 von noRiddle ergänzt.]
    [EDIT Tomcraft 16.02.2021 Überarbeitete Version 0.2.1 von noRiddle ergänzt.]
    [EDIT Tomcraft 28.02.2021: Überarbeitete Version 0.2.1 von noRiddle aktualisiert.]
    [EDIT Tomcraft 01.01.2022 Überarbeitete Version 0.2.2 von noRiddle ergänzt.]
    [EDIT Tomcraft 02.01.2022 Überarbeitete Version 0.2.3 von noRiddle ergänzt.]
    [EDIT Tomcraft 02.01.2022 Überarbeitete Version 0.2.3 von noRiddle aktualisiert.]
    [EDIT Tomcraft 03.01.2022: Überarbeitete Version 0.2.2 & 0.2.3 von noRiddle aktualisiert.]
    [EDIT Tomcraft 03.01.2022 Überarbeitete Version 0.2.4 von noRiddle ergänzt.]
    [EDIT Tomcraft 03.01.2022: Überarbeitete Version 0.2.4 von noRiddle aktualisiert.]
    [EDIT Tomcraft 23.02.2024: Optisch verschönerten Countdown ergänzt, Danke an DerNachbar.]

    Linkback: https://www.modified-shop.org/forum/index.php?topic=30451.0

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.178
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #1 am: 22. Juni 2014, 20:03:04
    Vielen Dank für die Bereitstellung! :thx:

    Grüße

    Torsten

    baustelle

    • Fördermitglied
    • Beiträge: 1.624
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #2 am: 23. Juni 2014, 14:27:27
    Liest sich sehr interessant, zumal du netterweise Screenshots mitgeliefert hast.

    Auch ich sage  :thx:

    Greets,
    Chris

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.729
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #3 am: 23. Juni 2014, 16:09:38
    Habe es zwar noch nicht testen können, sage aber schonmal vielen Dank für die Arbeit und das Zur-Verfügung-Stellen.
    Verstehe ich das richtig, daß deine Implementation eine bessere und nützlichere Umsetzung dieser Implementation? -> MODUL: Betriebsferien / Abwesenheitsmeldung / Urlaubsinfo für Kunden

    Gruß,
    noRiddle

    timopaul

    • modified Team
    • Beiträge: 371
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #4 am: 23. Juni 2014, 16:43:25
    Guten Tag,

    ...
    Verstehe ich das richtig, daß deine Implementation eine bessere und nützlichere Umsetzung dieser Implementation? -> MODUL: Betriebsferien / Abwesenheitsmeldung / Urlaubsinfo für Kunden
    ...

    Ja, das könnte man so formulieren, es gibt parallelen und ähnliche Anwendungsbereiche der beiden Module.

    Wobei ich nicht möchte das sich mit "bessere und nützlichere" auf den Schlips getreten fühlt. Komplexer trifft es vielleicht besser. Aber Wortklauber gibt es schon genug, da muss ich damit nicht anfangen.

    Besten Gruß,
    Timo

    xxxxxxxxx

    • Fördermitglied
    • Beiträge: 615
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #5 am: 23. Juni 2014, 17:14:11
    Danke!

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.729
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #6 am: 23. Juni 2014, 17:31:40
    @timo_paul
    Danke für die Info.
    Naja, allein die Möglichkeit der Zeit-Einstellung ist eine echte Verbesserung und ein klasse Feature.

    Notizen:
    • Dateien:
      Die im Paket enthaltene /includes/classes/CustomresNoticeManager.class.php mit 0 KB ist sicherlich ein Versehen ?
    • Performance:
      Wäre es nicht evtl. schneller für den Datumsvergleich in o.g. Class mittels time()/mktime() den Datums-String erstmal in einen Unix-Timestamp umzuwandeln ?,
      wenn nicht gar anstatt DATETIME in der DB lediglich als INTEGER und somit gleich als Timestamp zu speichern ?
      Das Abspeichern von Zeiten ist allerdings durchweg im Shop-System nicht flexibel gelöst (Stichworte: DATETIME und NOW() anstatt UTC_TIMESTAMP())
    • $description:
      Ich fand beim Überfliegen des Codes nirgends eine Definition des im Template aufgerufenen Smarty-Platzhalters $description.
    • Collation:
      Da es auch Leute gibt die ihren Shop auf UTF-8 laufen haben sollte man den COLLATE-Befehle in der install.sql vielleicht weglassen.

    Gruß,
    noRiddle

    timopaul

    • modified Team
    • Beiträge: 371
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #7 am: 23. Juni 2014, 17:52:25
    Guten Tag,

    besten Dank für dein Feedback.

    Dateien:
    Die im Paket enthaltene /includes/classes/CustomresNoticeManager.class.php mit 0 KB ist sicherlich ein Versehen ?

    Korrekt, das sollte so nicht sein. Wurde für die Version 0.2 bereits entfernt

    Performance:
    Wäre es nicht evtl. schneller für den Datumsvergleich in o.g. Class mittels time()/mktime() den Datums-String erstmal in einen Unix-Timestamp umzuwandeln ?,
    wenn nicht gar anstatt DATETIME in der DB lediglich als INTEGER und somit gleich als Timestamp zu speichern ?
    Das Abspeichern von Zeiten ist allerdings durchweg im Shop-System nicht flexibel gelöst (Stichworte: DATETIME und NOW() anstatt UTC_TIMESTAMP())

    Bin mir nicht sicher ob es einen spürbaren Unterschied gibt ob die MySQL-Abfrage nun mittels INT der DATETIME vergleicht. Aber sicher berechtigt dies zu hinterfragen, darüber habe ich mir bisher keine Sorgen gemacht.

    $description:
    Ich fand beim Überfliegen des Codes nirgends eine Definition des im Template aufgerufenen Smarty-Platzhalters $description.

    Datei /includes/classes/CustomersNoticeManager.class.php Zeilen 39-41.

    Collation:
    Da es auch Leute gibt die ihren Shop auf UTF-8 laufen haben sollte man den COLLATE-Befehle in der install.sql vielleicht weglassen.

    Das ist ebenfalls Korrekt. SQL-Script wurde für die kommende Version 0.2 angepasst.

    Nochmals besten Dank von meiner Seite für das Überfliegen, vier Augen sehen bekanntlich mehr.

    Besten Gruß,
    Timo

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.729
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #8 am: 23. Juni 2014, 18:13:42
    ...
    $description:
    Ich fand beim Überfliegen des Codes nirgends eine Definition des im Template aufgerufenen Smarty-Platzhalters $description.

    Datei /includes/classes/CustomersNoticeManager.class.php Zeilen 39-41.
    ...

    Upps,  :tomato:, hatte nach einem assign description geschaut und die foreach-Schleife mit den Keys und Values nicht beachtet, my fault.

    ...
    Performance:
    Wäre es nicht evtl. schneller für den Datumsvergleich in o.g. Class mittels time()/mktime() den Datums-String erstmal in einen Unix-Timestamp umzuwandeln ?,
    wenn nicht gar anstatt DATETIME in der DB lediglich als INTEGER und somit gleich als Timestamp zu speichern ?
    Das Abspeichern von Zeiten ist allerdings durchweg im Shop-System nicht flexibel gelöst (Stichworte: DATETIME und NOW() anstatt UTC_TIMESTAMP())

    Bin mir nicht sicher ob es einen spürbaren Unterschied gibt ob die MySQL-Abfrage nun mittels INT der DATETIME vergleicht. Aber sicher berechtigt dies zu hinterfragen, darüber habe ich mir bisher keine Sorgen gemacht.
    ...

    Naja, weiß ich auch nicht genau, mir scheint nur, daß ein Integer leichter zu vergleichen ist als ein String des Formats 0000-00-00 00:00:00. Konnte dazu bislang zwar nie etwas eindeutiges finden, vermute aber stark, daß PHP intern den Vergleich macht indem es ein Datum in o.g. Format in den Unix-Timestamp umwandelt. Es wäre auch ansonsten mit den Doppelpunkten und den Leerzeichen problematisch für den Parser einen < oder > Vergleich durchzuführen.

    Generell meine ich aber auch, daß die oft benutzte NOW()-Funktion (nicht in deinem Skript, da nicht benutzt) durch UTC_TIMETSAMP() ersetzt werden müsste, denn hat jemand einen Server der in einer anderen Zeitzone steht gibt NOW() nicht die wirkliche User-Zeit sondern eben die Server-Zeit aus, es sei denn man hat vorher darauf geachtet den MySql-Server mittels default-time-zone='timezone' auf eine Default-Zeit-Zone festzulegen.

    Im übrigen:
    Ich finde deine Implementation sehr nützlich, gefällt mir, daß sich hier mal wieder was tut.

    Gruß,
    noRiddle

    timopaul

    • modified Team
    • Beiträge: 371
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #9 am: 23. Juni 2014, 18:56:46
    Guten Tag,

    ...
    ...
    Performance:
    Wäre es nicht evtl. schneller für den Datumsvergleich in o.g. Class mittels time()/mktime() den Datums-String erstmal in einen Unix-Timestamp umzuwandeln ?,
    wenn nicht gar anstatt DATETIME in der DB lediglich als INTEGER und somit gleich als Timestamp zu speichern ?
    Das Abspeichern von Zeiten ist allerdings durchweg im Shop-System nicht flexibel gelöst (Stichworte: DATETIME und NOW() anstatt UTC_TIMESTAMP())

    Bin mir nicht sicher ob es einen spürbaren Unterschied gibt ob die MySQL-Abfrage nun mittels INT der DATETIME vergleicht. Aber sicher berechtigt dies zu hinterfragen, darüber habe ich mir bisher keine Sorgen gemacht.
    ...

    Naja, weiß ich auch nicht genau, mir scheint nur, daß ein Integer leichter zu vergleichen ist als ein String des Formats 0000-00-00 00:00:00. Konnte dazu bislang zwar nie etwas eindeutiges finden, vermute aber stark, daß PHP intern den Vergleich macht indem es ein Datum in o.g. Format in den Unix-Timestamp umwandelt. Es wäre auch ansonsten mit den Doppelpunkten und den Leerzeichen problematisch für den Parser einen < oder > Vergleich durchzuführen.

    Generell meine ich aber auch, daß die oft benutzte NOW()-Funktion (nicht in deinem Skript, da nicht benutzt) durch UTC_TIMETSAMP() ersetzt werden müsste, denn hat jemand einen Server der in einer anderen Zeitzone steht gibt NOW() nicht die wirkliche User-Zeit sondern eben die Server-Zeit aus, es sei denn man hat vorher darauf geachtet den MySql-Server mittels default-time-zone='timezone' auf eine Default-Zeit-Zone festzulegen.

    Bitte beachte dass der Vergleich ob der aktuelle Zeitpunkt in dem Zeitraum liegt, in dem der/die Hinweis(e) angezeigt werden soll, direkt über die Datenbankabfrage geschieht. Somit gibt es keinen String-Vergleich, sondern einen (MySQL-) DATETIME-Vergleich. Sicher ist es einfacher reine UNIX-TIMESTAMP's zu vergleichen, jedoch habe ich mich für DATETIME entschieden da es schon bei osCommerce für (fast) alle Felder mit Datumswerten verwendet wurde und man die Geschichte nicht vergessen sollte.

    Im übrigen:
    Ich finde deine Implementation sehr nützlich, gefällt mir, daß sich hier mal wieder was tut.

    Freut mich sehr zu hören, besten Dank. Vielleicht hat es ja Potential für eine der kommenden 2.x-Versionen.

    Zudem habe ich es mir nicht nehmen lassen die vor einigen (2 oder so) Post's angesprochenen Änderungen in die Tat umzusetzen. Neben diesen beiden Anpassungen ist in der v0.2 BETA noch eine Versionskontrolle hinzu gekommen, so kann man (der Shop-Betreiber/-Administrator) schneller sehen ob seine Version des Moduls aktuell ist und gegebenenfalls gleich zur Projektseite wechseln um die aktuelle Version zu erhalten.

    Besten Gruß und vielen Dank für eure Aufmerksamkeit,
    Timo

    [EDIT jannemann 24.06.2014: Modul in Beitrag 1 aktualisiert.]

    funmobil

    • Neu im Forum
    • Beiträge: 33
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #10 am: 23. Juni 2014, 23:45:55
    Hallo,
    habe das Modull in Shop 1.06. eingebaut. Der Countdown funktioniert nicht richtig. Tage werden nicht richtig gezählt. Es wird immer immer angezeigt Systaxfehler in Line 34 bei Countdown.html im Javascript.
    In Java habe ich so gut wie keine Ahnung. Hat jemand eine idee oder weiss von dem Fehler, ansonsten tolles Modul. Danke.
    Mfg
    Funmobil

    jannemann

    • modified Team
    • Beiträge: 6.289
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #11 am: 24. Juni 2014, 08:26:17
    Hallo Timo,

    auch von meiner Seite ein herzliches Dankeschön fürs Teilen!
    Ich habe die neue Version 0.2 in Beitrag 1 eingefügt.

    Schöne Grüße,
    Jan

    timopaul

    • modified Team
    • Beiträge: 371
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #12 am: 24. Juni 2014, 09:48:26
    Guten Morgen,

    habe das Modull in Shop 1.06. eingebaut. Der Countdown funktioniert nicht richtig. Tage werden nicht richtig gezählt. Es wird immer immer angezeigt Systaxfehler in Line 34 bei Countdown.html im Javascript.
    In Java habe ich so gut wie keine Ahnung. Hat jemand eine idee oder weiss von dem Fehler, ansonsten tolles Modul. Danke.

    Der Countdown war zuerst nur als Test gedacht um zu schauen was alles möglich sein könnte. Da er nun in das Modul gerutscht ist, sollte er natürlich auch funktionieren. Dazu wurde das Template noch einmal überarbeitet, im Anhang. Wird selbstverständlich am der nächsten Modulversion Standard sein.

    Ich habe die neue Version 0.2 im 1. Beitrag hinzugefügt.

    Besten Dank dafür!

    Gruß an alle,
    Timo

    [EDIT jannemann 24.06.2014: Countdown Fix in Beitrag 1 hinzugefügt.]

    jannemann

    • modified Team
    • Beiträge: 6.289
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #13 am: 24. Juni 2014, 09:56:54
    Hallo Timo,

    den Countdown habe ich aus deinem Post in Beitrag 1 hinzugefügt.

    Schöne Grüße,
    Jan

    timopaul

    • modified Team
    • Beiträge: 371
    • Geschlecht:
    Re: BETA MODUL: CustomersNotice - Hinweise für Kunden
    Antwort #14 am: 06. Juli 2014, 15:29:45
    Guten Tag,

    das Modul steht nun in der Version 3.0 BETA zur Verfügung. Auf der Projektseite gibt es weitere Informationen, den Download, Installations- und Update-Anleitung.

    Folgendes ist neu oder gefixt:
    • neues (funktionierendes) Template für den Countdown
    • Seitentyp "Kontobereich" zur Anzeige der Hinweise
    • [FIX] Link zur Auswahl eines Hinweis in der Liste aller Hinweise im Administrationsbereich korrigiert

    Wie immer freue ich mich über Feedback.

    Besten Gruß,
    Timo

    [EDIT Tomcraft 07.07.2014: Modul in Beitrag 1 aktualisiert.]
    5 Antworten
    4642 Aufrufe
    12. Dezember 2013, 12:29:01 von misterwong
    9 Antworten
    6374 Aufrufe
    28. Februar 2012, 21:35:42 von karge
    2 Antworten
    2605 Aufrufe
    30. Mai 2013, 16:52:20 von Cookie