Werbung / Banner buchen
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: Versandart nur an best. Wochentagen freigeben  (Gelesen 1803 mal)

Offline arno_nuehm

  • Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Männlich
    • Teile Beitrag
Versandart nur an best. Wochentagen freigeben
« am: 05. Oktober 2012, 10:47:58 »
Hallo Forengemeinde,

wir bieten versch. Expressarten an, u.a. auch Samstagszustellung.
Jetzt sieht es natürlich unschön aus, wenn der Samstagsexpress schon Montags angeboten wird.
Gibt es eine Möglichkeit, das entsprechende Versandmodul nur an Freitagen einzublenden?
In welcher Variable steht denn der Wochentag? Steht dieser überhaupt zur Verfügung?

Gruß
Manu

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

Offline jannemann

  • modified Team
  • *****
  • Beiträge: 6.292
  • Geschlecht: Männlich
    • Teile Beitrag
Re: Versandart nur an best. Wochentagen freigeben
« Antwort #1 am: 05. Oktober 2012, 23:50:04 »
Hallo Manu,

könntest du nicht das Datum auf dem Server abfragen?

Schöne Grüße,
Jan

Offline frangulus

  • Fördermitglied
  • *****
  • Beiträge: 284
  • Geschlecht: Männlich
    • Teile Beitrag
    • Dinge die gut sind, oder gut tun
Re: Versandart nur an best. Wochentagen freigeben
« Antwort #2 am: 06. Oktober 2012, 02:07:51 »
In welcher Variable steht denn der Wochentag? Steht dieser überhaupt zur Verfügung?

Es gibt eine PHP Funktion dazu: http://de2.php.net/manual/de/function.date.php
Code: PHP  [Auswählen]
$Wochentag=date("N")
sollte weiterhelfen.

MfG
Frangulus

Offline hendrik

  • modified Team
  • *****
  • Beiträge: 2.045
    • Teile Beitrag
Re: Versandart nur an best. Wochentagen freigeben
« Antwort #3 am: 06. Oktober 2012, 19:06:21 »
Die Versandarten liegen in includes/modules/shipping/

Jede Datei einthält eine Klasse (class), darin ein Konstruktor
function klassenname()
oder
function __construct()

In dieser Funktion machst du eine Einfügung.

..ermitteln des Wochentags..
if( wochentag nicht erlaubt ) {
  $this->enabled = false;
}

Wenn $this->enabled beim Verlassen der Funktion auf false steht, steht das Versandmodul nicht mehr zur Auswahl.

Gruß
Hen

Offline arno_nuehm

  • Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Männlich
    • Teile Beitrag
Re: Versandart nur an best. Wochentagen freigeben
« Antwort #4 am: 07. Oktober 2012, 10:00:59 »
super, danke für die hinweise! :-)

Wir blenden nun die Versandart für Express Samstag nur noch freitags ein. Finden wir kundenfreundlicher.

Zur Lösung:
in der gewünschten includes/modules/shipping/*.php die Klasse erweitern um
Code: PHP  [Auswählen]
$wd
Sieht dann etwa so aus
Code: PHP  [Auswählen]
class * {
    var $code, $title, $description, $icon, $enabled, $num_dpes, $wd;
danach nach
Code: PHP  [Auswählen]
 $this->enabled = ((MODULE_SHIPPING_DPES_STATUS == 'True') ? true : false);
folg. einfügen
Code: PHP  [Auswählen]
$this->wd = date("N");
if($this->wd != 5) {
$this->enabled = false;
}
Die numerische Zahl steht hier für den Wochentag.

fertig!

Bei Zeit und Laune nehme ich das mal noch in die function install() des Versandmoduls auf, sodass man den Wochentag einfach über das Backend auswählen kann.

Danke nochmal an alle!

Offline arno_nuehm

  • Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Männlich
    • Teile Beitrag
Re: Versandart nur an best. Wochentagen freigeben
« Antwort #5 am: 07. Oktober 2012, 11:06:21 »
Estetikfrage:
Kann man nur die Auswahlmöglichkeit der Versandart unterdrücken, diese jedoch weiterhin eingeblendet lassen?

Offline Barcelo

  • Frisch an Board
  • **
  • Beiträge: 96
  • Geschlecht: Männlich
    • Teile Beitrag
Re: Versandart nur an best. Wochentagen freigeben
« Antwort #6 am: 23. März 2016, 19:07:57 »
Hallo zusammen,

vielen Dank an arno_nuehm für die Code-Zeilen - genau danach hatte ich gesucht!  :thumbs:

Ich habe entsprechend dieser Wiki-Anleitung mir das DHL-Modul kopiert und angepasst.

Jedoch wollte ich den Tag noch erweitern um ein Zeitfenster - genauer: Donnerstag 15:00 bis Freitag 14:00

Dementsprechend habe ich das von arno_nuehm noch ein wenig angepasst/erweitert:

Klasse zusätzlich zum  $wd erweitert um
Code: PHP  [Auswählen]
$wh
also am Ende z.B.: , $wd, $wh;

Dann habe ich wie folgt "umgebaut":
Code: PHP  [Auswählen]
          $this->wd = date('N');
          date_default_timezone_set('CET');
          $this->wh = date('H:i');
          if(($this->wd != 4) && ($this->wd != 5)) {
                  $this->enabled = false;
          }
          if((($this->wd == 4) && ($this->wh >= "15:00")) || (($this->wd == 5) && ($this->wh <= "14:00"))) {
                  $this->enabled = true;
          }

date_default_timezone_set('CET');
-> habe ich vorsichtshalber rein genommen - ggf. kann das auch entfallen!

Funktioniert einwandfrei und vielleicht ist's ja für jemanden hilfreich  ;-)
Sollte das noch eleganter gehen = Info gerne willkommen.

Gruß,
Barcelo

Offline Barcelo

  • Frisch an Board
  • **
  • Beiträge: 96
  • Geschlecht: Männlich
    • Teile Beitrag
Re: Versandart nur an best. Wochentagen freigeben
« Antwort #7 am: 25. März 2016, 16:23:23 »
Korrektur - es funktionierte nicht ganz - so stimmt's nun aber:
Code: PHP  [Auswählen]
          $this->wd = date('N');
          date_default_timezone_set('CET');
          $this->wh = date('H:i');
          if(($this->wd != 4) && ($this->wd != 5)) {
                  $this->enabled = false;
          }
          if((($this->wd == 4) && ($this->wh >= "15:00")) || (($this->wd == 5) && ($this->wh <= "14:00"))) {
                  $this->enabled = true;
          } else {
                  $this->enabled = false;
          }
:-B

Käufersiegel - das Online-Gütesiegel für Online-Shops

Teile per facebook Teile per linkedin Teile per twitter

xx
Warenkorb wieder freigeben

Begonnen von Juan Carlos Silverio Gomez am Admin- und Shopbereich

0 Antworten
106 Aufrufe
Letzter Beitrag 29. April 2017, 12:50:39
von Juan Carlos Silverio Gomez
xx
Shop 2.0.1 - CKEDITOR - HTML Elemente freigeben

Begonnen von insertinto am Bastelecke

4 Antworten
368 Aufrufe
Letzter Beitrag 30. November 2016, 19:29:06
von insertinto
xx
Artikel anlegen (Admin-Bereich) freigeben für Kunden

Begonnen von Uhrenmensch am Bastelecke

3 Antworten
319 Aufrufe
Letzter Beitrag 28. Dezember 2016, 14:31:55
von Uhrenmensch
xx
Startseite rechte Boxen komplett weg und Platz freigeben

Begonnen von Fubu am Templates

3 Antworten
800 Aufrufe
Letzter Beitrag 15. September 2014, 11:16:53
von otacon