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: Versandcountdown

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: BETA MODUL: Versandcountdown
    Antwort #15 am: 19. Oktober 2015, 16:28:54
    Nunja, streng genommen: Wenn das "return $data;" wirklich aus der GPL-Software entnommen wurde, findet die Regel schon ihre Anwendung.
    Da aber wohl niemand beweisen kann, dass es tatsächlich da her stammt, kann man (in einem solchen Fall) den Autor nicht dazu zwingen.
    Das sieht vermutlich sogar bei einem "return $xtcprice;" nicht anders aus, immerhin wurde das Modul für xtc entwickelt und da wäre die Namensgebung logisch.

    ams

    • Fördermitglied
    • Beiträge: 175
    Re: BETA MODUL: Versandcountdown
    Antwort #16 am: 05. September 2018, 13:57:24
    Hallo und vielen Dank für den Code,
    leider hat es beim Einbau nicht funktioniert. Der Countdown läuft einfach nicht. Die Zeitangaben erscheinen also nicht. Kann es daran liegen, dass bei mir der Javascript Code nach dem HTML geladen wird?

    Auch mit der Ergänzung von SWOLFRAM hat es leider nicht funktiniert.

    Gibt hierzu vielleicht eine neue Version?

    Besten Dank
    ams

    Hat auf jeden Fall noch absoluten Betastatus, aber hier einmal in aktualisierter Form:

    Tage lassen sich zwar immer noch nicht einzeln definieren, allerdings klappts jetzt mit den Wochenenden. Also die Annahme: Von Mo-Fr wird versendet bis zur var deadline = xx // Uhr

    Feiertage lassen sich nun auch definieren. So wird der ganze Versandcountdown am gewünschten Tag einfach über CSS-Override mit display:none ausgeblendet. Hier sollte aber darauf geachtet werden die Box bei einem Feiertag wie z.B. Ostermontag schon am Freitag auszublenden.

    Die CSS habe ich übrigens nochmals angehangen, da sich eine Kleinigkeit geändert hat. Aus class="" ist ID="" geworden (für document.getElementById("versandcountdown").style.display = "none";)

    general.js.php:

    Code: Javascript  [Auswählen]
    <script language="JavaScript">
    //STUNDENZÄHLER
    //Serverzeit
    var Zeit = new Date("<? echo date("M d, Y H:i:s"); ?>");
    //Clientzeit (zum Testen)
    //var Zeit = new Date();
    var ServSec = Zeit.getSeconds();

    // Bis wieviel Uhr muss für den heutigen Versand bestellt werden?
    var deadline = 14 // Uhr

    // Feiertage : An folgenden Tagen die Box ausblenden (Bei Feiertagen nicht vergessen die Box schon am Vortag ausblenden zu lassen)
    var allefeiertage = [
    // NRW!
    "2015-12-23", // Ein Tag vor Heiligabend                                  2015
    "2015-12-24", // Heiligabend                                              2015
    "2015-12-25", // 1. Weihnachtstag                                         2015
    "2015-12-26", // 2. Weihnachtstag                                         2015
    "2015-12-31", // Silvester                                                2015
    "2016-01-01", // Neujahr                                                  2016
    "2016-03-25", // Freitag vor Ostermontag                                  2016
    "2016-03-26", // Samstag vor Ostermontag                                  2016
    "2016-03-27", // Sonntag vor Ostermontag                                  2016
    "2016-03-28", // Ostermontag                                      2016
    "2016-05-04", // Ein Tag vor Christi Himmelfahrt                  2016
    "2016-05-05", // Christi Himmelfahrt                              2016
    "2016-05-13", // Freitag vor Pfingstmontag                        2016
    "2016-05-14", // Samstag vor Pfingstmontag                        2016
    "2016-05-15", // Sonntag vor Pfingstmontag                        2016
    "2016-05-16", // Pfingstmontag                                    2016
    "2016-05-25", // Ein Tag vor Fronleichnam                         2016
    "2016-05-26", // Fronleichnam                                     2016
    "2016-09-30", // Freitag vor Tag der Deutschen Einheit    2016
    "2016-10-01", // Samstag vor Tag der Deutschen Einheit    2016
    "2016-10-02", // Sonntag vor Tag der Deutschen Einheit    2016
    "2016-10-03", // Tag der Deutschen Einheit                        2016
    "2016-10-31", // ein Tag vor Allerheiligen                                2016
    "2016-11-01", // Allerheiligen                                            2016
    "2016-12-23", // Ein Tag vor Heiligabend                                  2016
    "2016-12-24", // Heiligabend                                              2016
    "2016-12-25", // 1. Weihnachtstag                                         2016
    "2016-12-26", // 2. Weihnachtstag                                         2016
    "2016-12-31"  // Silvester                                                2016
    //Im Letzten Wert des Arrays KEIN KOMMA!
    ];

    function countdown() {
    var Stunden = 23-Zeit.getHours();
    var Minuten = 59-Zeit.getMinutes();
    var Sekunden = 60-Zeit.getSeconds()-1;
    var Stunden = Stunden+deadline;
    if (Sekunden==60) { Sekunden=0; }
    if (Minuten==60) { Minuten=0; }
    if (Stunden == 0) Stunden = "00";
    if (Stunden == 24) Stunden = "00";
    if (Stunden >= 25) Stunden = Stunden-24;
    if (Stunden <= 9 && Stunden != "00") Stunden = "0"+Stunden;
    if (Minuten <= 9) Minuten = "0" + Minuten;
    if (Sekunden <= 9) Sekunden = "0" + Sekunden;

    var Zeitausgabe = Stunden + "<span class=\"countdownpointer\"> Std. </span>" + Minuten + "<span class=\"countdownpointer\"> Min. </span>" + Sekunden + "<span class=\"countdownpointer\"> Sek. </span>";
    // Übergabe Uhrzeit HTML
    Uhrzeit.innerHTML = Zeitausgabe;

    //Wochentage ausschreiben
    var weekdays = new Array();
    weekdays[0] = "Sonntag";
    weekdays[1] = "diesen Montag";
    weekdays[2] = "diesen Dienstag";
    weekdays[3] = "diesen Mittwoch";
    weekdays[4] = "diesen Donnerstag";
    weekdays[5] = "diesen Freitag";
    weekdays[6] = "Samstag";
    weekdays[7] = "diesen Montag";


    //TAGESZÄHLER
    //Serverzeit
    var current_date = new Date("<? echo date("M d, Y H:i:s"); ?>");
    //Clientzeit
    //var current_date = new Date();

    // Wenn Deadline erreicht dann wird ein Tag aufgerechnet (Also heute erfolgt kein Versand mehr)
    if (Stunden<deadline)
    weekday_value = current_date.getDay()
    else
    weekday_value = current_date.getDay()+1

    //Weil Samstag kein Versand dann mache aus Samstag Montag
    if (weekday_value==6)
    weekday_value = 7
    //Weil Sonntag kein Versand dann mache aus Sonntag Montag
    if (weekday_value==0)
    weekday_value = 7


    // Übergabe Tagangabe HTML
    if (Stunden<deadline&&weekday_value==6&&weekday_value==0)
    Tagangabe.innerHTML = ""
    else
    Tagangabe.innerHTML = weekdays[weekday_value]


    ServSec++;
    if (ServSec > 60) { ServSec = 1; }
    Zeit.setSeconds(ServSec);
    setTimeout("countdown()", 1000);

    function isoDateString(d){
      function pad(n){return n<10 ? '0'+n : n}
      return d.getFullYear()+'-'+
        pad(d.getMonth()+1)+'-'+
        pad(d.getDate())
    }
     
    //Serverzeit
    var today = new Date("<? echo date("M d, Y H:i:s"); ?>");
    //Clientzeit (zum Testen)
    //var today = new Date();

    Array.prototype.contains = function(elem)
    {for (var i in this)
    {if (this[i] == elem) return true;}
    return false;}
    var b = isoDateString(today);
    if (allefeiertage.contains(b))
    document.getElementById("versandcountdown").style.display = "none";
    else
    document.getElementById("versandcountdown").style.display = "block";
    }

    </script>
     

    product_info_v1.html
    Code: PHP  [Auswählen]
    <div id="productinfoprice" class="span7" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
            <div id="versandcountdown">
            <body onLoad="countdown()">
    Innerhalb von <span id="Uhrzeit"></span>
    bestellen, Versand <span id="Wann"></span><span id="Tagangabe"></span>.*</div>

    stylesheet.css
    Code: CSS  [Auswählen]
    #Uhrzeit{color:#33a33a}
    #versandcountdown{
    border: 1px solid #cdcdcd;
    border-radius: 5px;
    margin: 10px 0px;
    padding: 10px;
    color: #888;
    padding-left:28%;
    background:url(img/uhr.png) no-repeat left center transparent
            }
    .countdownpointer{font-weight:600;font-size:14px}
    @media (max-width: 767px) {
    #versandcountdown{text-align:center!important;padding-left:14%!important;padding-right:14%!important;}
    }

    Wie gesagt noch absolute Beta, aber vielleicht kanns ja jemand gebrauchen :-)

    cplasa

    • Fördermitglied
    • Beiträge: 200
    • Geschlecht:
    Re: BETA MODUL: Versandcountdown
    Antwort #17 am: 07. September 2018, 10:05:30
    Hallo ams,

    hast Du mal einen Link zum Shop? :glaskugel: In meinem darmals geposteten Code wurde das Script unvalide in der product_info.html noch über
    Code: PHP  [Auswählen]
    <body onLoad="countdown()">
    gestartet.

    Richtig wäre es in der general.js.php

    Code: PHP  [Auswählen]
    <script type="text/javascript">
    $(document).ready(function () {                  
    countdown();
    });
    </script>

    cplasa

    • Fördermitglied
    • Beiträge: 200
    • Geschlecht:
    Re: BETA MODUL: Versandcountdown
    Antwort #18 am: 07. September 2018, 10:11:13
    ...aber das hat swolfram wie ich sehe in seinem Post ja auch schon korrigiert.

    Daher bitte einmal Link zum Shop

    ams

    • Fördermitglied
    • Beiträge: 175
    Re: BETA MODUL: Versandcountdown
    Antwort #19 am: 11. September 2018, 10:03:30
    Hallo cplasa,
    danke für die Rückmeldung!

    Leider habe ich das derzeit nur in einem Testshop laufen, Link ist dadurch schwierig. Könnte das Problem mit dem nicht eingeblendeten Countdown an einem Konflikt vom Javascript liegen, hast du einen Tipp wie ich das feststellen kann?

    PS: Ich hatte auch schon die Version mit der Korrektur in der general.js.php versucht

    Danke dir...

    swolfram [templatix]

    • Fördermitglied
    • Beiträge: 1.168
    • Geschlecht:
    Re: BETA MODUL: Versandcountdown
    Antwort #20 am: 11. September 2018, 12:23:59
    Ein Javascript Konflikt ist sehr wahrscheinlich. Was sagt den die Konsole dazu?
    Mit Link zum testen wäre es einfacher bei der Suche zu helfen.

    Shorty

    • Foren-Troll
    • Viel Schreiber
    • Beiträge: 909
    • Geschlecht:
    Re: BETA MODUL: Versandcountdown
    Antwort #21 am: 11. September 2018, 19:25:08
    Hallo,
    ich habe es mir auch mal in einem Test Shop Instaliert und ich habe das selbe Problem das Stunden , Tages Zahl usw nicht angezeigt werden.

    cplasa

    • Fördermitglied
    • Beiträge: 200
    • Geschlecht:
    Re: BETA MODUL: Versandcountdown
    Antwort #22 am: 12. September 2018, 14:11:11
    wie gesagt der Link zum Shop wäre hilfreich.

    Ansonsten kannst Du auch meine aktuelle Version testen:

    general.js.php
    Code: Javascript  [Auswählen]
    <?php
    if (strstr($PHP_SELF, FILENAME_PRODUCT_INFO )) {
    ?>
    <script language="JavaScript">
    var Zeit = new Date("<? echo date("M d, Y H:i:s"); ?>"); // <-- Serverzeit
    //var Zeit = new Date(); <-- Clientzeit zum testen
    var ServSec = Zeit.getSeconds();
    var deadline = 14 // Uhr
    // Feiertage : An folgenden Tagen die Versandcountdownbox auf Produktseiten ausblenden (Bei Feiertagen berücksichtigen die Box schon am Vortag ausblenden zu lassen)
    var allefeiertage = [
    // ALLE FEIERTAGE NRW!
    "2018-03-29", // DONNERSTAG Ein Tag vor Karfreitag                      2018
    "2018-03-30", // FREITAG        Karfreitag                                              2018
    "2018-03-31", // SAMSTAG        vor Ostermontag                                 2018
    "2018-04-01", // SONNTAG        vor Ostermontag                                 2018
    "2018-04-02", // MONTAG         Ostermontag                                             2018

    "2018-04-30", // MONTAG         vor Tag der Arbeit                              2018
    "2018-05-01", // DIENSTAG       Tag der Arbeit                                  2018

    "2018-05-09", // MITTWOCH       Ein Tag vor Christi Himmelfahrt 2018
    "2018-05-10", // DONNERSTAG Christi Himmelfahrt                         2018

    "2018-05-18", // FREITAG        vor Pfingstmontag                       2018
    "2018-05-19", // SAMSTAG        vor Pfingstmontag                       2018
    "2018-05-20", // SONNTAG        vor Pfingstmontag                       2018
    "2018-05-21", // MONTAG         Pfingstmontag                   2018

    "2018-05-30", // MITTWOCH       Ein Tag vor Fronleichnam                2018
    "2018-05-31", // DONNERSTAG Fronleichnam                                        2018

    "2018-10-02", // DIENSTAG       vor Tag der Deutschen Einheit   2018
    "2018-10-03", // MITTWOCH       Tag der Deutschen Einheit               2018


    "2018-10-31", // MITTWOCH       ein Tag vor Allerheiligen               2018
    "2018-11-01", // DONNERSTAG Allerheiligen                                       2018


    "2018-12-24", // MONTAG         Heiligabend                                             2018
    "2018-12-25", // DIENSTAG   1. Weihnachtstag                            2018
    "2018-12-26", // MITTWOCH   2. Weihnachtstag                            2018

    "2018-12-31", // MONTAG         Silvester                                               2018
    "2019-01-01"  // DIENSTAG       Neujahr                                         2018
    //Im Letzten Wert des Arrays KEIN KOMMA!
    ];
    function countdown() {
    var Stunden = 23-Zeit.getHours();
    var Minuten = 59-Zeit.getMinutes();
    var Sekunden = 60-Zeit.getSeconds()-1;
    var Stunden = Stunden+deadline;
    if (Sekunden==60) { Sekunden=0; }
    if (Minuten==60) { Minuten=0; }
    if (Stunden == 0) Stunden = "00";
    if (Stunden == 24) Stunden = "00";
    if (Stunden >= 25) Stunden = Stunden-24;
    if (Stunden <= 9 && Stunden != "00") Stunden = "0"+Stunden;
    if (Minuten <= 9) Minuten = "0" + Minuten;
    if (Sekunden <= 9) Sekunden = "0" + Sekunden;
    if (Stunden == "00") {
        var Stundenfull = "</span>";
    } else {
        var Stundenfull = Stunden+"</span> Std. ";
    }
    if (Stunden == "01") {
        var Stundenfull = "1</span> Std. ";
    }
    if (Stunden == "02") {
        var Stundenfull = "2</span> Std. ";
    }
    if (Stunden == "03") {
        var Stundenfull = "3</span> Std. ";
    }
    if (Stunden == "04") {
        var Stundenfull = "4</span> Std. ";
    }
    if (Stunden == "05") {
        var Stundenfull = "5</span> Std. ";
    }
    if (Stunden == "06") {
        var Stundenfull = "6</span> Std. ";
    }
    if (Stunden == "07") {
        var Stundenfull = "7</span> Std. ";
    }
    if (Stunden == "08") {
        var Stundenfull = "8</span> Std. ";
    }
    if (Stunden == "09") {
        var Stundenfull = "9</span> Std. ";
    }
    var Zeitausgabe = "<span class=\"countdownstunden\"><span class=\"countdownpointer\">" + Stundenfull + "<span class=\"countdownminuten\"><span class=\"countdownpointer\">" + Minuten + " </span> Min. </span>";
    Uhrzeit.innerHTML = Zeitausgabe;
    var weekdays = new Array();
    weekdays[0] = "Sonntag";
    weekdays[1] = "diesen Montag";
    weekdays[2] = "diesen Dienstag";
    weekdays[3] = "diesen Mittwoch";
    weekdays[4] = "diesen Donnerstag";
    weekdays[5] = "diesen Freitag";
    weekdays[6] = "Samstag";
    weekdays[7] = "diesen Montag";
    var current_date = new Date("<? echo date("M d, Y H:i:s"); ?>"); // <-- Serverzeit
    //var current_date = new Date(); <-- Clientzeit zum testen
    if (Stunden<deadline)
    weekday_value = current_date.getDay()
    else
    weekday_value = current_date.getDay()+1
    if (weekday_value==6)
    weekday_value = 7
    if (weekday_value==0)
    weekday_value = 7
    if (Stunden<deadline&&weekday_value==6&&weekday_value==0)
    Tagangabe.innerHTML = ""
    else
    Tagangabe.innerHTML = weekdays[weekday_value]
    ServSec++;
    if (ServSec > 60) { ServSec = 1; }
    Zeit.setSeconds(ServSec);
    setTimeout("countdown()", 1000);
    function isoDateString(d){
      function pad(n){return n<10 ? '0'+n : n}
      return d.getFullYear()+'-'+
        pad(d.getMonth()+1)+'-'+
        pad(d.getDate())
    }
    var today = new Date("<? echo date("M d, Y H:i:s"); ?>");
    Array.prototype.contains = function(elem)
    {for (var i in this)
    {if (this[i] == elem) return true;}
    return false;};
    var b = isoDateString(today);
    if (allefeiertage.contains(b))
    document.getElementById("versandcountdown").style.display = "none";
    else
    document.getElementById("versandcountdown").style.display = "block";
    };
    window.onload = countdown;
    </script>
    <?php
    }
    ?>

    product_info.html
    Code: PHP  [Auswählen]
    <div id="versandcountdown">
    Innerhalb von <span id="Uhrzeit"><span class="countdownstunden"><span class="countdownpointer">00</span> Std. <span class="countdownminuten"><span class="countdownpointer">00 </span> Min. </span></span></span>
    bestellen, Versand <span id="Wann"></span>
    <span id="Tagangabe">wird berechnet...</span>
    </div>

    Shorty

    • Foren-Troll
    • Viel Schreiber
    • Beiträge: 909
    • Geschlecht:
    Re: BETA MODUL: Versandcountdown
    Antwort #23 am: 12. September 2018, 17:10:31
    Ich habe meinen Test Shop gecrascht aber ich baue in heute abend wider auf dann baue ich es noch mal ein und gebe einen Link an.

    Shorty

    • Foren-Troll
    • Viel Schreiber
    • Beiträge: 909
    • Geschlecht:
    Re: BETA MODUL: Versandcountdown
    Antwort #24 am: 12. September 2018, 20:21:56
    Leider macht mein test Shop Probleme,deshalb habe ich deine Neue Version im meinem Shop eingebaut und für die Fehlersuche Online gestellt.

    https://schnaepchenpiet.shop/PC-Zubehoer/P706-Android-4-4-4-Mini-Tablet::3.html

    p3e

    • Experte
    • Beiträge: 2.396
    Re: BETA MODUL: Versandcountdown
    Antwort #25 am: 12. September 2018, 21:42:26
    Okay, dass ist ein Testshop. Im echten Shop hast du dann aber keine Artikelbeschreibungen wie:
    Zitat
    Leider kann es hier zu Abweichungen kommn,da es keine genaue beschreibung des unseren Mini Tablet ist.sondern ein ähnliches bei Google gefunden wurde.

    In einem anderen Thread hattest Du uns versprochen, dass Du jetzt keine Module mehr einbaust, sondern Dich nur noch darum kümmerst, dass Dein Shop online geht. Ich gehe davon aus, dass Du ab dann Deine Zeit für gute Fotos und Texte verwendest.

    Nachtrag: Du schreibst auf Deiner Startseite:
    Zitat
    Wenn ihr einen Vorschlag, Kritik oder Lob hat, sendet bitte ein Mail an verbesserungen@schnaepcheniet.shop
    Ich denke, Du hast in der Mailadresse ein p vergessen.

    Shorty

    • Foren-Troll
    • Viel Schreiber
    • Beiträge: 909
    • Geschlecht:
    Re: BETA MODUL: Versandcountdown
    Antwort #26 am: 12. September 2018, 21:47:57
    Ich wollte nur helfen den fehler  zu finden,aber ich hätte es wissen müssen das es wichtiger ist meinen Shop zu zerreisen.

    *EDIT*
    Ich habe dort kein p vergessen,das ist so gewollt,wenn ich Kritik über meinen Shop möchte mach ich dafür ein Thema auf. ;-)

    Shorty

    • Foren-Troll
    • Viel Schreiber
    • Beiträge: 909
    • Geschlecht:
    Re: BETA MODUL: Versandcountdown
    Antwort #27 am: 18. September 2018, 08:30:42
    Das Problem scheint es nur im Firefox zu geben,im Opera geht der Countdown.

    Shorty

    • Foren-Troll
    • Viel Schreiber
    • Beiträge: 909
    • Geschlecht:
    Re: BETA MODUL: Versandcountdown
    Antwort #28 am: 04. Oktober 2018, 17:48:34
    Update
    Da sich hier ja nichts mehr zu tun scheint,habe ich mir mal einen machen lassen.
    9 Antworten
    3142 Aufrufe
    04. Januar 2019, 17:14:15 von Shorty
    106 Antworten
    52336 Aufrufe
    06. März 2021, 19:27:04 von awids
    7 Antworten
    9459 Aufrufe
    30. August 2013, 09:32:58 von lzwerch
    96 Antworten
    51054 Aufrufe
    15. September 2014, 19:36:47 von Trucker05