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: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen

    Der_Micha

    • Mitglied
    • Beiträge: 167
    Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    am: 19. September 2012, 19:05:16
    Hallo,

    ich kämpfe seit einige Tagen mit dem Versuch das Ablaufdatum eines Sonderangebotes per default auf 23:59 Uhr zu setzten als auf 0:00 Uhr, wie es jetzt ist.
    Hintergrund ist, das so die mittlerweile vorgeschriebene Anzeige des Angebotsendes nicht richtig funktioniert.
    Der Kunde sieht Angebotsende 31.8. und geht davon aus, dass das Angebot am 31.8. noch gilt.
    In Wirklichkeit wird aber 31.8. 0:00 Uhr in die Datenbank geschrieben und damit steht das Angebot am 31.8. nicht mehr zur Verfügung.

    Am Einfachsten wäre es wohl den folgenden Abschnitt in der <shop_root>/admin/specials.php zu ändern:

    Code: PHP  [Auswählen]
          $expires_date = '';
          if ($_POST['specials_expires']) {
            $expires_date = str_replace("-", "", $_POST['specials_expires']);
          }

    damit z.B. 2012-09-17 23:59:59 in die Datenbank geschrieben wird und nicht 2012-09-17 00:00:00

    Vermutlich muss nur die eine Zeile geändert werden.
    Kann mir jemand sagen was ich ändern muss?

    Gruß
    Micha

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

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #1 am: 19. September 2012, 20:06:56
    Code: PHP  [Auswählen]
    $expires_date = '';
        if ($_POST['specials_expires']) {
          $expires_date = str_replace("-", "", $_POST['specials_expires']);
          $expires_date = date('Y-m-d H:i:s', strtotime($expires_date.' 23:59:59'));
        }

    Hab ich mal schnell mit der categories_specials.php probiert, da ging es.

    Aber es gibt ja mehrere Dateien wo das vorkommt.
    Es wäre nett, wenn du alle Änderungen inkl. der Anzeige des Angebotsendes für uns posten könntest.

    Gruß web0null

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #2 am: 20. September 2012, 14:18:20
    Also ich hab mir das jetzt genauer angesehen.
    Suche in den Dateien:
    \admin\includes\modules\categories_specials.php
    und
    \admin\specials.php

    nach:

    Code: PHP  [Auswählen]
    $expires_date = str_replace("-", "", $_POST['specials_expires']);

    und ersetze es mit:

    Code: PHP  [Auswählen]
    $expires_date = str_replace("-", "", $_POST['specials_expires']);
    $expires_date = date('Y-m-d H:i:s', strtotime($expires_date.' 23:59:59'));

    Der Code kommt jeweils 2x vor.

    Die Anleitung für die Anzeige ist hier: Ablaufdatum von Sonderangeboten in der Produktdetailansicht anzeigen

    Gruß web0null

    Teichbau

    • Fördermitglied
    • Beiträge: 385
    • Geschlecht:
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #3 am: 18. Oktober 2012, 10:34:49
    Bei mir hat's funktioniert.
    Vielen Dank.
    Grüße Teichbau

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #4 am: 31. März 2015, 14:54:15
    Danke für diesen Bugfix!

    Kann teuer werden in der Verlagsbranche mit Subskriptionspreisen, wenn der Shop das Angebot einen Tag zu früh raus nimmt!
    Hat für diesen Bug mal einer ein Ticket aufgemacht?

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #5 am: 31. März 2015, 15:00:00
    OK, scheinbar nicht. Habe die Tickets durchsucht, finde nichts. Ticket ist jetzt offen.
    https://trac.modified-shop.org/ticket/422

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.868
    • Geschlecht:
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #6 am: 31. März 2015, 15:25:38
    Hi Bonsai,

    da gab es schon zwei - aber auch ich hab mein Ticket wohl doppelt eröffnet ;)
    https://trac.modified-shop.org/ticket/134
    https://trac.modified-shop.org/ticket/373

    Sollte also nun mindestens schon zweimal gefixt sein  :-D

    Grüße
    Dominik

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #7 am: 31. März 2015, 15:31:22
    Ticket 134 und 373 sind geschlossen. Das ist damit wohl gefixt.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #8 am: 31. März 2015, 15:36:34
    Keine Ahnung wer wo was geändert hat oder ob einfach nur die Tickets zugemacht worden sind ....
    War eben im Demoshop, habe Sonderangebot für Testrtikel 2 eingestellt, Ablaufdatum heute. Wird nicht angezeigt. Bug von 2012 (oder früher) also noch da.  :hust:

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #9 am: 31. März 2015, 15:58:49
    Der Demoshop ist

    modified eCommerce Shopsoftware 1.06 rev 4642 SP2
    (stabile Releaseversion) vom 12.08.2014

    Und wenn Du das Ticket https://trac.modified-shop.org/ticket/134 ansiehst, dann steht da, dass es gefixt ist.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #10 am: 31. März 2015, 16:05:01
    modified eCommerce Shopsoftware 1.06 rev 4642 SP2
    (stabile Releaseversion) vom 12.08.2014

    Ticket  #134 closed Bug/Fehler (fixed) Geschlossen vor 17 Monaten

    Da das Ticket vor 17 Monaten geschlossen wurde, also im Jahre 2013, sollte der Fehler weg sein.
    Ist er nicht.

    Versuche mal im Demoshop ein Sonderangebot mit Ablaufdatum heute einzustellen! Das muss funktionieren, dann ist der Fehler weg.

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #11 am: 31. März 2015, 18:06:16
    Glaube dass es gelöst ist. In dem Demoshop ist es halt nicht übernommen worden.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #12 am: 31. März 2015, 18:13:56
    In meiner v1.06 rev 4642 dated: 2013-04-20 war der Bug noch drin ... und wenn man danach Zwei Servicepacks bringt und es steht immer noch das im Code,

    Code: PHP  [Auswählen]
          $expires_date = '';
          if ($_POST['specials_expires']) {
            $expires_date = str_replace("-", "", $_POST['specials_expires']);
          }

    (Aus einem Shop mit SP2)
    dann ist irgendwas faul ....

    Ich muss mir mal eine Liste machen für die 2.0, was ich alles prüfen muss ....

    kaisa

    • Schreiberling
    • Beiträge: 365
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #13 am: 30. April 2015, 01:35:02
    Fehlt nur noch ein schöner MYSQL-Befehl, damit man bestehende Sonderangebote aktualisieren kann, wo die Ablaufzeit "00:00:00" ist.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Ablaufdatum der Sonderangebote auf 23:59 Uhr setzen
    Antwort #14 am: 30. April 2015, 13:37:15
    Code: SQL  [Auswählen]
    UPDATE specials SET expires_date = REPLACE(expires_date, '00:00:00', '23:59:59') WHERE expires_date NOT LIKE '0000-00-00%';
    sollte tun was du möchtest. (Vorher Tabelle specials sichern !).
    *EDIT* NOT LIKE '0000-00-00%' in der WHERE-Clause verhindert, daß die Uhrzeit bei Einträgen vorgenommen wird die gar keine zeitliche Begrenzung des Angebotes haben, was es ja auch gibt.

    Nebenbei:
    Hier ist immer von "Bug" die Rede. Mit dem Begriff wäre ich vorsichtig.
    Jeder kennt doch aus seiner Lebenserfahrung, daß, sagt jemand von "Montag bis Freitag" nicht klar ist ob einschließlich oder ausschließlich Freitag und deshalb das Zutreffende oft dazugesagt wird um Mißverständnisse zu vermeiden.
    Wenn es also heißt Ablaufdatum 31.08. oder gültig bis 31.08. kann dies auch als ausschließlich verstanden werden und das wäre um 00:00 Uhr gegeben.
    Es gibt keine Konvention die besagt, daß solche Angaben immer zwingend als einschließlich verstanden werden müssen/sollen, auch wenn es im Geschäftsleben oft heißt "Öffnungszeiten: Montags bis Freitags" und dort immer einschließlich verstanden wird.

    Also, ein Bug ist das nicht zwingend, zumal man ja auch, weiß man um die Berechnungsart, einfach einen Tag mehr angeben kann, also 01.09, sodaß "bis 01.09."  bedeutet 01.09. 00:00 und somit 31.08. einschließlich.
    Am Besten wäre selbstverständlich, lässt man sich das Datum des Auslaufs eines Sonderangebotes im Shop anzeigen, das von mir dargelegte dort auch deutlich zu machen:
    "Sonderangebot gültig bis 31.08. einschließlich"
    oder
    "Sonderangebot gültig bis 01.09. 00:00 Uhr"
    oder wie auch immer.

    So vermeidet man Mißverständnisse und ist somit user-freundlich ;-).

    Gruß,
    noRiddle
    10 Antworten
    2999 Aufrufe
    30. April 2021, 15:40:04 von DerNachbar
    0 Antworten
    1718 Aufrufe
    23. September 2015, 07:37:32 von robertko
               
    anything