Neuigkeiten

Autor Thema: Versandart nur an best. Wochentagen freigeben  (Gelesen 1390 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: http://www.modified-shop.org/forum/index.php?topic=22631.0

Offline jannemann

  • modified Team
  • *****
  • Beiträge: 6.293
  • 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.020
    • 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: 89
  • 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: 89
  • 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
Shop 2.0.1 - CKEDITOR - HTML Elemente freigeben

Begonnen von insertinto

4 Antworten
101 Aufrufe
Letzter Beitrag 30. November 2016, 19:29:06
von insertinto
topicsolved
Shop nur für registrierte Benutzter freigeben bzw. spezielle Kundegruppe

Begonnen von wercron89

2 Antworten
583 Aufrufe
Letzter Beitrag 21. Februar 2014, 10:46:26
von wercron89
xx
Startseite rechte Boxen komplett weg und Platz freigeben

Begonnen von Fubu

3 Antworten
631 Aufrufe
Letzter Beitrag 15. September 2014, 11:16:53
von otacon
topicsolved
Registrieren -> freigeben erst dann wenn Admin erlaubt

Begonnen von xtc_beginner

7 Antworten
1279 Aufrufe
Letzter Beitrag 09. August 2010, 11:04:03
von Tomcraft
 


             
anything