Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Angabe der Lieferzeiten


YePix

Recommended Posts

Hi, könnte hier jemand mal nachsehen was da falsch läuft ?
Die Angabe Lieferzeiten funzt nur für Deutschland also bei 81 mit 3 bis 7 Tage

Kunden aus dem Ausland bekommen die gleiche Angabe 3 bis 7 Tage anstelle von 5 bis 10 Tage

general.php
 

// Lieferzeiten start
function get_lieferzeitraum($yp_ausland)
{
  // Die Routine geht von 3 Tagen für Lieferdatum_von und 5 Tagen Lieferdatum bis aus. Sollten andere Werte benötigt werden, //
  // dann die Konstanten c__von und c__bis ändern
  // Konstanten Inland
  $c__von_i = 3;  // Lieferdatum von in Tagen //
  $c__bis_i = 7;  // Lieferdatum bis in Tagen //
  $c__heimatland = 81 ; // 81 = Deutschland

// wie bereits erwähnt, findet man die Zahlu in der Datenbank

  // Konstanten Ausland
  $c__von_a = 5;  // Lieferdatum von in Tagen //
  $c__bis_a = 10;  // Lieferdatum bis in Tagen //

  if ($yp_ausland == $c__heimatland)
  {
    // es ist Deutschland //
    $c__von = $c__von_i;
    $c__bis = $c__bis_i;
  }
  else
  {
    $c__von = $c__von_a;
    $c__bis = $c__bis_a;
  }


  $y_von_day       = $c__von . ' day';
  $lieferdatum_von = strtotime(" . $y_von_day . ");
  $wochentag_von   = strftime("%u",$lieferdatum_von);
  $y_dazu = 0;
  if ($wochentag_von == 0)
  {
    // es ist ein Sonntag => +1 Tag dazu //
    $y_dazu = 1;
  }
  elseif ($wochentag_von == 6)
  {
    // es ist ein Samstag => +2 Tage dazu //
    $y_dazu = 2;
  }
  $y_von_neu       = $c__von + $y_dazu;
  $y_von_neu_day   = $y_von_neu . ' day';
  $lieferdatum_von =  strtotime(" . $y_von_neu_day . ");

    // Wenn das "Lieferdatum von" schon ein Wochenende war, dann die Anzahl der zu verschiebenen Tage auf das "Lieferdatum bis" hinzuaddieren //
  $y_bis_start     = $c__bis + $y_dazu;
  $y_bis_day       = $y_bis_start . ' day';
  $lieferdatum_bis = strtotime(" . $y_bis_day . ");

  // Überprüfen, ob das "Lieferdatum bis" auf ein Wochenende fällt //
  $wochentag_bis = strftime("%u",$lieferdatum_bis);
  $y_dazu=0;
  if ($wochentag_bis == 0)
  {
    // es ist ein Sonntag => +1 Tag dazu //
    $y_dazu = 1;
  }
  elseif ($wochentag_bis == 6)
  {
    // es ist ein Samstag => +2 Tage dazu //
    $y_dazu = 2;
  }
  $y_bis_neu       = $y_bis_start + $y_dazu;
  $y_bis_neu_day   = $y_bis_neu . ' day';
  $lieferdatum_bis = strtotime(" . $y_bis_neu_day . ");

  $lieferdatum_von = date('d.m.',$lieferdatum_von);
  $lieferdatum_bis = date('d.m.',$lieferdatum_bis) ;
  return array($lieferdatum_von, $lieferdatum_bis) ;
}
// Lieferzeiten ende  

product_info.php
 

<?php $c__heimatland = 81; // 81 = Deutschland 
// mit der Zahl kann man sein Heimatland angeben. Das findet mach am Besten in der Datenbank 
list($lieferdatum_von,$lieferdatum_bis) = get_lieferzeitraum($c__heimatland);
$pls_shippingtime = '<span class="pls_basePrice">' . TEXT_LIEFERUNG_PI .  $lieferdatum_von . "-" . $lieferdatum_bis . '</span>';
?>

 

Link to comment
Share on other sites

Mit besonderem Dank an @Tsimi

SQL-Anweisung
 

INSERT INTO configuration_group (configuration_group_id, configuration_group_title, configuration_group_description, sort_order, visible)
VALUES ('41', 'Angabe Lieferzeiten', 'Definieren Sie die Angaben der Lieferzeiten für Deutschland in Tagen. Standard von [3 Tage] bis [7 Tage] Ausserhalb Deutschland [5 Tage] bis [10 Tage]', NULL, '1');

INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added, use_function, set_function)
VALUES ('Angabe der Lieferzeiten freischalten ?', 'SHOW_PRODUCTS_SHIPPING_TIME_ON', 'true', 'Soll die Angabe der Lieferzeiten bei den Produktdetails freigeschalten werden ?', '41', '1', now(), NULL , 'tep_cfg_select_option(array(\'true\', \'false\'),');

INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
VALUES ('Lieferangabe innerhalb Deutschland von [x] Tagen', 'INFOTEXT_SHIPPING_TIME_OF', '3', 'Lieferangabe innerhalb Deutschland in Tagen. Standard: [zwischen 3] und ...', '41', '10', now(), now());
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
VALUES ('Lieferangabe innerhalb Deutschland bis [x] Tagen', 'INFOTEXT_SHIPPING_TIME_TO', '7', 'Lieferangabe innerhalb Deutschland in Tagen. Standard: zwischen ... [und 7 Tagen]', '41', '11', now(), now());
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
VALUES ('Lieferangabe ausserhalb Deutschland von [x] Tagen', 'INFOTEXT_SHIP_TIME_OF_W', '5', 'Lieferangabe ausserhalb Deutschland in Tagen. Standard: [zwischen 5] und ...', '41', '12', now(), now());
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
VALUES ('Lieferangabe ausserhalb Deutschland bis [x] Tagen', 'INFOTEXT_SHIP_TIME_TO_W', '10', 'Lieferangabe ausserhalb Deutschland in Tagen. Standard: zwischen ... [und 10 Tagen]', '41', '13', now(), now());

product_info.php
 

einfügen unterhalb vom letzten query tag ?>:


<?php 
if ( (tep_session_is_registered('customer_id') == true) || ($id != $customer_id) ) {
$c__heimatland = $customer_country_id;
list($lieferdatum_von,$lieferdatum_bis) = get_lieferzeitraum($c__heimatland);
$pls_shippingtime = '<span class="pls_basePrice">' . TEXT_LIEFERUNG_PI .  $lieferdatum_von . "-" . $lieferdatum_bis . '</span><br>';
echo $pls_shippingtime;
}else{
$pls_shippingtime = '<span class="pls_basePrice">' . TEXT_SHIPPINGTIME_LOGIN . '</span><br>';
echo $pls_shippingtime;
}?>


einfügen an gewünschter Stelle:

<?php echo $pls_shippingtime;?>

einfügen in german.php:
 

define('TEXT_LIEFERUNG_PI', 'Lieferung bei heutiger Zahlung: ');
define('TEXT_SHIPPINGTIME_LOGIN', 'Bitte einloggen für Lieferangaben. ');

einfügen in english.php:
 

define('TEXT_LIEFERUNG_PI', 'Delivery by todays payment: ');
define('TEXT_SHIPPINGTIME_LOGIN', 'Login for delivery info. ');

catalog/includes/functions/general.php
 

einfügen vor dem letztem tag ?>:


// Lieferzeiten start
function get_lieferzeitraum($yp_ausland)
{
  // Die Routine geht von 3 Tagen für Lieferdatum_von und 5 Tagen Lieferdatum bis aus. Sollten andere Werte benötigt werden, //
  // dann die Konstanten c__von und c__bis ändern                                                                            //

  // Konstanten Inland
  $c__von_i = INFOTEXT_SHIPPING_TIME_OF;  // Lieferdatum von in Tagen //
  $c__bis_i = INFOTEXT_SHIPPING_TIME_TO;  // Lieferdatum bis in Tagen //
  $c__heimatland = 81 ; // 81 = Deutschland oder z.B. 14 für Österreich//

// wie bereits erwähnt, findet man die Zahlu in der Datenbank

  // Konstanten Ausland
  $c__von_a = INFOTEXT_SHIP_TIME_OF_W;  // Lieferdatum von in Tagen //
  $c__bis_a = INFOTEXT_SHIP_TIME_TO_W;  // Lieferdatum bis in Tagen //

  if ($yp_ausland == $c__heimatland)
  {
    // es ist Deutschland //
    $c__von = $c__von_i;
    $c__bis = $c__bis_i;
  }
  else
  {
    $c__von = $c__von_a;
    $c__bis = $c__bis_a;
  }


  $y_von_day       = $c__von . ' day';
  $lieferdatum_von = strtotime(" . $y_von_day . ");
  $wochentag_von   = strftime("%u",$lieferdatum_von);
  $y_dazu = 0;
  if ($wochentag_von == 0)
  {
    // es ist ein Sonntag => +1 Tag dazu //
    $y_dazu = 1;
  }
  elseif ($wochentag_von == 6)
  {
    // es ist ein Samstag => +2 Tage dazu //
    $y_dazu = 2;
  }
  $y_von_neu       = $c__von + $y_dazu;
  $y_von_neu_day   = $y_von_neu . ' day';
  $lieferdatum_von =  strtotime(" . $y_von_neu_day . ");

    // Wenn das "Lieferdatum von" schon ein Wochenende war, dann die Anzahl der zu verschiebenen Tage auf das "Lieferdatum bis" hinzuaddieren //
  $y_bis_start     = $c__bis + $y_dazu;
  $y_bis_day       = $y_bis_start . ' day';
  $lieferdatum_bis = strtotime(" . $y_bis_day . ");

  // Überprüfen, ob das "Lieferdatum bis" auf ein Wochenende fällt //
  $wochentag_bis = strftime("%u",$lieferdatum_bis);
  $y_dazu=0;
  if ($wochentag_bis == 0)
  {
    // es ist ein Sonntag => +1 Tag dazu //
    $y_dazu = 1;
  }
  elseif ($wochentag_bis == 6)
  {
    // es ist ein Samstag => +2 Tage dazu //
    $y_dazu = 2;
  }
  $y_bis_neu       = $y_bis_start + $y_dazu;
  $y_bis_neu_day   = $y_bis_neu . ' day';
  $lieferdatum_bis = strtotime(" . $y_bis_neu_day . ");

  $lieferdatum_von = date('d.m.',$lieferdatum_von);
  $lieferdatum_bis = date('d.m.',$lieferdatum_bis) ;
  return array($lieferdatum_von, $lieferdatum_bis) ;
}
// Lieferzeiten ende 

 

Link to comment
Share on other sites

in product_info.php hat sich ein Fehler eingeschlichen. Dieses einfügen:

<?php 
if (SHOW_PRODUCTS_SHIPPING_TIME_ON == 'true') { 
if ( (tep_session_is_registered('customer_id') == true) || ($id != $customer_id) ) {
$c__heimatland = $customer_country_id;
list($lieferdatum_von,$lieferdatum_bis) = get_lieferzeitraum($c__heimatland);
$pls_shippingtime = '<span class="pls_basePrice">' . TEXT_LIEFERUNG_PI .  $lieferdatum_von . "-" . $lieferdatum_bis . '</span><br>';
echo $pls_shippingtime;
}else{
$pls_shippingtime = '<span class="pls_basePrice">' . TEXT_SHIPPINGTIME_LOGIN . '</span><br>';
echo $pls_shippingtime;
}
}?>

 

 

Link to comment
Share on other sites

  • 4 months later...
×
×
  • Create New...