Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:

Autor Thema: MODUL: Anzeige voraussichtlicher Liefertermin  (Gelesen 15841 mal)

Offline D.L.

  • Frisch an Board
  • **
  • Beiträge: 94
    • Teile Beitrag
    • Agentur </Webknecht>
MODUL: Anzeige voraussichtlicher Liefertermin
« am: 22. Juni 2015, 11:09:20 »
Angezeigt wird über dieses Modul entsprechend dem jeweiligen Lieferstatus der voraussichtliche Liefertermin in der Artikel Detailansicht in folgender Form:

Voraussichtlicher Liefertermin innerhalb Deutschland:
Freitag 26. Juni 2015 - Montag 29. Juni 2015


Die Errechnung erfolgt über die Angabe der Berechnungsgrundlage (Tag/Woche/Monat) beim Lieferstatus sowie dem ggf. vorhandenen Trennzeichens (z.B. "-" in "3-4 Tage") und berücksichtigt dabei Sonntage (optional Samstage), gesetzliche/bewegliche Feiertage sowie die Uhrzeit bis zu der ein Versand am selben Tag möglich ist.

Schöne Grüsse
Daniel

[EDIT Tomcraft 22.06.2015: Modul aktualisiert.]
[EDIT Tomcraft 23.06.2015: Modul aktualisiert.]
[EDIT Tomcraft 24.06.2015: Modul aktualisiert.]
[EDIT Tomcraft 17.05.2016: Modul für Shopversion 2.x eingefügt.]

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

Offline X-film-Profishop.de

  • Neu im Forum
  • *
  • Beiträge: 9
    • Teile Beitrag
    • X-film-Profishop.de - Selbstklebefolien, Digitaldruckmedien & mehr in Premium-Qualität!
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #1 am: 22. Juni 2015, 17:23:16 »
Hallo und danke für das Modul,

leider bleibt die product_info.html nach der Installation blank.

Zitat
if(is_object($modDelivery) && $text_delivery = modDelivery->getDeliveryDays($product->data['products_shippingtime']))

Die in dieser Zeile aufgerufene Funktion getDeliveryDays ruft Ihrerseits eine nicht deklarierte Funktion auf:
Zitat
PHP Fatal error: Call to undefined method main::getShippingStatusDays()

Gruß

Joscha

Offline D.L.

  • Frisch an Board
  • **
  • Beiträge: 94
    • Teile Beitrag
    • Agentur </Webknecht>
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #2 am: 22. Juni 2015, 17:50:40 »
leider bleibt die product_info.html nach der Installation blank.

stimmt, da fehlte noch ein wichtiger Part in der /includes/classes/main.php und ist in diesem Paket ergänzt!

[EDIT Tomcraft 22.06.2015: Modul in Beitrag 1 aktualisiert.]

Offline Gulliver72

  • Mitglied
  • ***
  • Beiträge: 100
  • Geschlecht: Männlich
    • Teile Beitrag
    • archäologische Studien an einer alten Shopsoftware
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #3 am: 22. Juni 2015, 18:14:49 »
Ihr hättet es ruhig hier drunter hängen können  :whistle:
Anzeige des Auslieferungsdatums wie bei Ebay

Offline D.L.

  • Frisch an Board
  • **
  • Beiträge: 94
    • Teile Beitrag
    • Agentur </Webknecht>
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #4 am: 22. Juni 2015, 18:27:23 »
Nur ich hätte es hängen können und habe aber von dem Post nichts gewusst bzw. nicht nach "Auslieferungsdatum" gesucht ;->

Offline ShopUser

  • Frisch an Board
  • **
  • Beiträge: 53
    • Teile Beitrag
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #5 am: 23. Juni 2015, 10:59:27 »
Moin zusammen,
ich stehe irgendwie im Dunkeln.
Sind die jeweiligen Module von D.L. und Gulliver72 im Grunde identisch oder jeweils eine eigene Entwicklung?
Bei Gulliver72 taucht zudem im weiteren Verlauf des Threads unter "Anzeige des Auslieferungsdatums wie bei Ebay" eine Version 2 auf die entsprechend auf eine Neuentwicklung hinweist- diese wurde aber wiederum nicht im ersten Beitrag aktualisiert.
Kann mir jemand mal das Licht anmachen :-)

Gruß
André

Offline D.L.

  • Frisch an Board
  • **
  • Beiträge: 94
    • Teile Beitrag
    • Agentur </Webknecht>
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #6 am: 23. Juni 2015, 11:02:45 »
Sind die jeweiligen Module von D.L. und Gulliver72 im Grunde identisch oder jeweils eine eigene Entwicklung?

die gleiche Idee mit unterschiedlicher Entwicklung..

Offline ShopUser

  • Frisch an Board
  • **
  • Beiträge: 53
    • Teile Beitrag
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #7 am: 23. Juni 2015, 11:12:57 »
Wer mag denn beurteilen welcher Ansatz der bessere ist?

Offline web0null

  • Experte
  • *****
  • Beiträge: 1.998
    • Teile Beitrag
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #8 am: 23. Juni 2015, 11:22:31 »
Wie wäre es mit dir?
Dazu müsstest du dir beide Ansätze genau ansehen, wie auch jeder andere der es beurteilen sollte.

Wenn ich es machen würde kommt wahrscheinlich eine 3 Version raus :-D
PS. ich meine damit aber nicht das die beiden nicht gut wären.
Gruß

Offline ShopUser

  • Frisch an Board
  • **
  • Beiträge: 53
    • Teile Beitrag
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #9 am: 23. Juni 2015, 11:39:57 »
Die Frage war eigentlich zum Ansatz der Programmierung. Ich denke da wärst Du mir um Meilen voraus.

Gruß
André

Offline Gulliver72

  • Mitglied
  • ***
  • Beiträge: 100
  • Geschlecht: Männlich
    • Teile Beitrag
    • archäologische Studien an einer alten Shopsoftware
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #10 am: 23. Juni 2015, 12:58:31 »
Beurteilen kann ich es insofern, dass das Modul von D.L. professioneller Code ist und meins laienhaft/fehlerhaft  ;-)

Das Modul sollte vielleicht auch die regionalen Feiertage mit berücksichtigen.

@D.L.
Schau dir meine Klasse auslieferungsdatum.php aus Version 2 an. Evtl. kannst du das integrieren. Sollte problemlos möglich sein.

Noch ein Gimmick für das Modul, wenn gewünscht.
Ein Countdown für die ablaufende Zeit bis zur Versandgrenze am jeweiligen Tag.
Wenn Interesse, stell ich den Code hier mit rein.

Offline ShopUser

  • Frisch an Board
  • **
  • Beiträge: 53
    • Teile Beitrag
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #11 am: 23. Juni 2015, 14:12:46 »
[...]
Ein Countdown für die ablaufende Zeit bis zur Versandgrenze am jeweiligen Tag.
Wenn Interesse, stell ich den Code hier mit rein.

Unbedingt!
Danke Dir.

Gruß
André

Offline Gulliver72

  • Mitglied
  • ***
  • Beiträge: 100
  • Geschlecht: Männlich
    • Teile Beitrag
    • archäologische Studien an einer alten Shopsoftware
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #12 am: 23. Juni 2015, 16:44:17 »
Noch ein Hinweis zu einem Logik-Problem. Darüber bin ich auch schon gestolpert  :-?
Was passiert, wenn Samstags versendet wird und eine Zeit bspw. 16 Uhr eingestellt ist?
In der Woche sollte die Zeit kein Problem sein. Samstags versendet man gewöhnlich bis max. 12 Uhr!
Ich würde den Samstag generell auf 0 stellen. Aber das ist nur meine persönliche Meinung.

Bin noch nicht dazu gekommen, dass Modul mal einzubauen. Deshalb weiß ich jetzt nicht, ob ich den Countdown richtig angeklemmt habe.

Einbauanleitung für modified 1.06 Template xtc5

/templates/xtc5/javascript/general.js.php

Die JS-Dateien werden eingebunden. Dabei wird geprüft, ob die Sprache in der Session gespeichert ist. Wenn ja, wird die jeweilige Sprachdatei eingebunden.

suche

Code: PHP  [Auswählen]
<?php // BOF - web28 - 2010-07-09 - TABS/ACCORDION in product_info ?>

füge davor ein

Code: PHP  [Auswählen]
<?php // BOF Countdown für Versand by Gulliver72 ?>
<script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery.plugin.min.js" type="text/javascript"></script>
<script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery.countdown.min.js" type="text/javascript"></script>
<?php if ((isset($_SESSION['language_code'])) && ($_SESSION['language_code'] != 'en')) { ?>
<script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery.countdown-<?php echo $_SESSION['language_code']; ?>.js" type="text/javascript"></script>
<?php }
// EOF Countdown für Versand by Gulliver72 ?>

suche

Code: PHP  [Auswählen]
</script>

füge davor ein

Code: PHP  [Auswählen]
// BOF Countdown für Versand by Gulliver72
$(function () {
  var austDay = new Date(); // heutiges Datum
  var AbsolutJetzt = austDay.getTime(); // aktuelle Zeit
  var AbsolutDann = AbsolutJetzt + <?php echo $countdown_time; ?>; // Berechnung der Zeitdifferenz für Countdown
  austDay.setTime(AbsolutDann); // Zeitdifferenz als Countdown-Zeit setzen
  $.countdown.setDefaults($.countdown.regionalOptions[<?php if ((isset($_SESSION['language_code'])) && ($_SESSION['language_code'] != 'en')) { echo $_SESSION['language_code'];} ?>]); // Countdown auf jeweilige Sprache setzen
        $('#defaultCountdown').countdown({until: austDay, layout: '{hn} {hl}, {mn} {ml}, {sn} {sl}'}); // mit Format einzeilig
});
// EOF Countdown für Versand by Gulliver72

includes/modules/product_info.php

suche

 
Code: PHP  [Auswählen]
 // get default product_info template

füge davor ein

Code: PHP  [Auswählen]
  // BOF Countdown für Versand by Gulliver72
    date_default_timezone_set('Europe/Berlin');
    setlocale (LC_ALL, 'de_DE');
  // wenn heute kein Wochenende oder Feiertag ist, wird der Countdown angezeigt
  if ((is_object($modDelivery) && $modDelivery->isFreeDay($tamo) !== TRUE) || strftime("%w",$tamo) != 0 || (DELIVERY_ON_SATURDAY == 0 && strftime("%w",$tamo) != 6)) {
    $tamo = time();
    // aktuelles Datum und Zeit
    $aktuelle_zeit = strftime("%H:%M:%S:%d:%m:%Y");
    // Differenz bis Versandzeitgrenze berechnen
    // aktuelle Zeit in Array zerlegen
    $start_time = explode(":", $aktuelle_zeit);
    // eingestellte Endzeit in Array ablegen
    $end_time = array();
    $end_time[] = DELIVERY_MAX_HOUR; // Stunde
    $minute = DELIVERY_MAX_MINUTE;
    $end_time[] = strlen($minute) == 1 ? '0' . $minute : $minute; // Minute
    $end_time[] = '00'; // Sekunde
    $ende_zeit = $end_time[0] . ':' . $end_time[1] . ':' . $end_time[2];
    // Timestamp der Startzeit berechnen
    $start_time_stamp = mktime($start_time[0], $start_time[1], $start_time[2], $start_time[3], $start_time[4], $start_time[5]);
    // Timestamp der Endzeit berechnen
    $end_time_stamp = mktime($end_time[0], $end_time[1], $end_time[2], $start_time[3], $start_time[4], $start_time[5]);
   
    // Zeitdifferenz als Timestamp, benötigt für Javascript-Funktion
    $time_difference = $end_time_stamp - $start_time_stamp;

    // Zeitdifferenz in Millisekunden
    $countdown_time = $time_difference * 1000;

    $akt_zeit = strftime("%T");
    if (($akt_zeit <= $ende_zeit) && ($product->data['products_quantity'] >0)) {
      $delivery_start_countdown = TEXT_COUNTDOWN_START . '<span id="defaultCountdown">&nbsp;</span>' . TEXT_COUNTDOWN_END;
      $info_smarty->assign('DELIVERY_START_COUNTDOWN', $delivery_start_countdown);
    }
  }
  // EOF Countdown für Versand by Gulliver72

/templates/xtc5/modules/product_info/product_info_v1.html

suche

      
Code: PHP  [Auswählen]
<p class="taxandshippinginfo" style="white-space:nowrap"><small>{$PRODUCTS_TAX_INFO}<br />{if $PRODUCTS_SHIPPING_LINK}{$PRODUCTS_SHIPPING_LINK|replace:'thickbox':'contentbox'|replace:'&amp;KeepThis=true&amp;TB_iframe=true&amp;height=400&amp;width=600':''|replace:'rel="nofollow" target="_blank"':''}{/if}</small></p>

füge danach ein

      
Code: PHP  [Auswählen]
{if $DELIVERY_START_COUNTDOWN}<p>{$DELIVERY_START_COUNTDOWN}</p>{/if}
 

/lang/german/german.php

füge am Ende ein

Code: PHP  [Auswählen]
// BOF Countdown für Versand by Gulliver72
define('TEXT_COUNTDOWN_START', 'Bestellen sie innerhalb der n&auml;chsten');
define('TEXT_COUNTDOWN_END', ', erfolgt der Versand noch heute');
// EOF Countdown für Versand by Gulliver72

Offline D.L.

  • Frisch an Board
  • **
  • Beiträge: 94
    • Teile Beitrag
    • Agentur </Webknecht>
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #13 am: 23. Juni 2015, 17:01:50 »
Das Modul sollte vielleicht auch die regionalen Feiertage mit berücksichtigen.

@D.L.
Schau dir meine Klasse auslieferungsdatum.php aus Version2 an. Evtl. kannst du das integrieren. Sollte problemlos möglich sein.

Regionale Feiertage sind nun enthalten (aktualisiert ist die /includes/classes/main_setDeliveryDate.php) und richten sich nach dem im Backend eingestellten Bundesland unter "Mein Shop".

[EDIT Tomcraft 23.06.2015: Modul in Beitrag 1 aktualisiert.]

Offline Gulliver72

  • Mitglied
  • ***
  • Beiträge: 100
  • Geschlecht: Männlich
    • Teile Beitrag
    • archäologische Studien an einer alten Shopsoftware
Re: MODUL: Anzeige voraussichtlicher Liefertermin
« Antwort #14 am: 23. Juni 2015, 17:11:50 »
Ups ein kleiner Fehler drin  :oops:
Habe den Codeblock für die includes/modules/product_info.php korrigiert

Code: PHP  [Auswählen]
// BOF Countdown für Versand by Gulliver72
    date_default_timezone_set('Europe/Berlin');
    setlocale (LC_ALL, 'de_DE');
   $tamo = time();
  // wenn heute kein Wochenende oder Feiertag ist, wird der Countdown angezeigt
  if ((is_object($modDelivery) && $modDelivery->isFreeDay($tamo) !== TRUE) || strftime("%w",$tamo) != 0 || (DELIVERY_ON_SATURDAY == 0 && strftime("%w",$tamo) != 6)) {
     // aktuelles Datum und Zeit
    $aktuelle_zeit = strftime("%H:%M:%S:%d:%m:%Y");
    // Differenz bis Versandzeitgrenze berechnen
    // aktuelle Zeit in Array zerlegen
    $start_time = explode(":", $aktuelle_zeit);
    // eingestellte Endzeit in Array ablegen
    $end_time = array();
    $end_time[] = DELIVERY_MAX_HOUR; // Stunde
    $minute = DELIVERY_MAX_MINUTE;
    $end_time[] = strlen($minute) == 1 ? '0' . $minute : $minute; // Minute
    $end_time[] = '00'; // Sekunde
    $ende_zeit = $end_time[0] . ':' . $end_time[1] . ':' . $end_time[2];
    // Timestamp der Startzeit berechnen
    $start_time_stamp = mktime($start_time[0], $start_time[1], $start_time[2], $start_time[3], $start_time[4], $start_time[5]);
    // Timestamp der Endzeit berechnen
    $end_time_stamp = mktime($end_time[0], $end_time[1], $end_time[2], $start_time[3], $start_time[4], $start_time[5]);
   
    // Zeitdifferenz als Timestamp, benötigt für Javascript-Funktion
    $time_difference = $end_time_stamp - $start_time_stamp;
 
    // Zeitdifferenz in Millisekunden
    $countdown_time = $time_difference * 1000;
 
    $akt_zeit = strftime("%T");
    if (($akt_zeit <= $ende_zeit) && ($product->data['products_quantity'] >0)) {
      $delivery_start_countdown = TEXT_COUNTDOWN_START . '<span id="defaultCountdown">&nbsp;</span>' . TEXT_COUNTDOWN_END;
      $info_smarty->assign('DELIVERY_START_COUNTDOWN', $delivery_start_countdown);
    }
  }
  // EOF Countdown für Versand by Gulliver72

@D.L.

Wenn $this->year bei dir nicht vorhanden ist, kann das nicht funktionieren  ;-)

  
Code: PHP  [Auswählen]
 $bb_base = new DateTime("$this->year-11-23");

Dann so

Code: PHP  [Auswählen]
get_bussubett_datetime($jahr)->format('dm');

und so

Code: PHP  [Auswählen]
  function get_bussubett_datetime($jahr) {
    $bb_base = new DateTime("$jahr-11-23");

Shop Hosting

Teile per facebook Teile per linkedin Teile per twitter

 


             
anything