So eine Baustelle hätte ich noch,
Ich habe wie schon früher mal, ein Versandmodul kopiert. Natürlich wieder alles genau nach Anleitung gemacht.
Naja, oder vielleicht auch nur fast.
Problem ist: Es scheint auf, lässt sich installieren, und kann dann auch scheinbar eingestellt werden. Aber kaum geht man auf bearbeiten fehlen alle Hintergrunddaten.
[ Für Gäste sind keine Dateianhänge sichtbar ]
Scheinbar ist irgendwo ein Fehler eingeschlichen. Obwohl ich alles mehrfach durchgesehen habe, konnte ich diesen nicht finden. Habe mit ERSETZEN gearbeitet.
Anbei meine beiden Dateien:
lang/german/modules/shipping/freeamount2.php
<?php/* -----------------------------------------------------------------------------------------
$Id: freeamount2.php 4855 2013-06-03 12:15:20Z Tomcraft $
modified eCommerce Shopsoftware
http://www.modified-shop.org
Copyright (c) 2009 - 2013 [www.modified-shop.org]
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce( freeamount2.php,v 1.01 2002/01/24 03:25:00); www.oscommerce.com
(c) 2003 nextcommerce (freeamount2.php,v 1.4 2003/08/13); www.nextcommerce.org
(c) 2006 xt:Commerce; www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
Released under the GNU General Public License
-----------------------------------------------------------------------------------------
Third Party contributions:
freeamount2v2-p1 Autor: dwk
Released under the GNU General Public License
---------------------------------------------------------------------------------------*/define('MODULE_SHIPPING_freeamount2_TEXT_TITLE', 'Kostenloser Heurigen Lieferservice');define('MODULE_SHIPPING_freeamount2_TEXT_DESCRIPTION', 'Nur Gültig in den Gemeinden MG Gaweinstal, Hochleiten, Hohenruppersdorf Bad Pirawarth');define('MODULE_SHIPPING_freeamount2_TEXT_WAY', 'ab %s Liefern wir die unsere Heurigen Angebote kostenlos </br>
Dies ist unsere Möglichkeit Sie in Zeiten von Corona trotzdem mit Wein zu versorgen, danach liefern wie wieder wie gewohnt mit Barzahlung ');define('MODULE_SHIPPING_freeamount2_INVALID_ZONE', 'Es ist leider kein Versand in dieses Land möglich');define('MODULE_SHIPPING_freeamount2_SORT_ORDER', 'Sortierreihenfolge');define('MODULE_SHIPPING_freeamount2_ALLOWED_TITLE' , 'Erlaubte Versandzonen');define('MODULE_SHIPPING_freeamount2_ALLOWED_DESC' , 'Geben Sie <b>einzeln</b> die Zonen an, in welche ein Versand möglich sein soll. (z.B. AT,DE (lassen Sie dieses Feld leer, wenn Sie alle Zonen erlauben wollen))');define('MODULE_SHIPPING_freeamount2_STATUS_TITLE' , 'Versandkostenfreie Lieferung aktivieren');define('MODULE_SHIPPING_freeamount2_STATUS_DESC' , 'Möchten Sie Versandkostenfreie Lieferung anbieten?');define('MODULE_SHIPPING_freeamount2_DISPLAY_TITLE' , 'Anzeige aktivieren');define('MODULE_SHIPPING_freeamount2_DISPLAY_DESC' , 'Möchten Sie anzeigen, wenn der Mindestbetrag zur VK-freien Lieferung nicht erreicht ist?');define('MODULE_SHIPPING_freeamount2_ZONE_TITLE' , 'Versand Zone');define('MODULE_SHIPPING_freeamount2_ZONE_DESC' , 'Wenn Sie eine Zone auswählen, wird diese Versandart nur in dieser Zone angeboten.');define('MODULE_SHIPPING_freeamount2_SORT_ORDER_TITLE' , 'Sortierreihenfolge');define('MODULE_SHIPPING_freeamount2_SORT_ORDER_DESC' , 'Reihenfolge der Anzeige');define('MODULE_SHIPPING_freeamount2_NUMBER_ZONES_TITLE' , 'Anzahl der Zonen');define('MODULE_SHIPPING_freeamount2_NUMBER_ZONES_DESC' , 'Anzahl der bereitgestellten Zonen');define('MODULE_SHIPPING_freeamount2_DISPLAY_TITLE' , 'Anzeige aktivieren');define('MODULE_SHIPPING_freeamount2_DISPLAY_DESC' , 'Möchten Sie anzeigen, wenn kein Versand in das Land möglich ist bzw. keine Versandkosten berechnet werden konnten?');for ($module_shipping_freeamount2_i = 1; $module_shipping_freeamount2_i <= MODULE_SHIPPING_freeamount2_NUMBER_ZONES
; $module_shipping_freeamount2_i ++) { define('MODULE_SHIPPING_freeamount2_COUNTRIES_'.$module_shipping_freeamount2_i.'_TITLE' , '<hr/>Zone '.$module_shipping_freeamount2_i.' Länder'); define('MODULE_SHIPPING_freeamount2_COUNTRIES_'.$module_shipping_freeamount2_i.'_DESC' , 'Durch Komma getrennte Liste von ISO Ländercodes (2 Zeichen), welche Teil von Zone '.$module_shipping_freeamount2_i.' sind (WORLD eintragen für den Rest der Welt.).'); define('MODULE_SHIPPING_freeamount2_AMOUNT_'.$module_shipping_freeamount2_i.'_TITLE' , 'Zone '.$module_shipping_freeamount2_i.' Mindestbetrag'); define('MODULE_SHIPPING_freeamount2_AMOUNT_'.$module_shipping_freeamount2_i.'_DESC' , 'Mindestbestellwert für Zone '.$module_shipping_freeamount2_i.' damit der Versand kostenlos ist.');}?> includes/modules/shipping/freeamount2.php
<?php/* -----------------------------------------------------------------------------------------
$Id: freeamount2.php 4856 2013-06-03 12:37:26Z Tomcraft $
modified eCommerce Shopsoftware
http://www.modified-shop.org
Copyright (c) 2009 - 2013 [www.modified-shop.org]
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(freeamount22.php,v 1.01 2002/01/24); www.oscommerce.com
(c) 2003 nextcommerce (freeamount2.php,v 1.12 2003/08/24); www.nextcommerce.org
(c) 2006 xt:Commerce; www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
Released under the GNU General Public License
---------------------------------------------------------------------------------------*/ class freeamount2
{ var $code, $title, $description, $icon, $enabled, $num_freeamount2; function __construct
() { global $order; $this->code = 'freeamount2'; $this->title = MODULE_SHIPPING_freeamount2_TEXT_TITLE
; $this->description = MODULE_SHIPPING_freeamount2_TEXT_DESCRIPTION
; $this->icon =''; // change $this->icon = DIR_WS_ICONS . 'shipping_ups.gif'; to some freeshipping icon $this->sort_order = MODULE_SHIPPING_freeamount2_SORT_ORDER
; $this->enabled = ((MODULE_SHIPPING_freeamount2_STATUS
== 'True') ?
true : false); $this->num_zones = defined('MODULE_SHIPPING_freeamount2_NUMBER_ZONES') ? MODULE_SHIPPING_freeamount2_NUMBER_ZONES
: '1'; if ( ($this->enabled == true) && ((int
)MODULE_SHIPPING_freeamount2_ZONE
> 0) && is_object($order) ) { $check_flag = false; $check_query = xtc_db_query
("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES
. " where geo_zone_id = '" . MODULE_SHIPPING_freeamount2_ZONE
. "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id"); while ($check = xtc_db_fetch_array
($check_query)) { if ($check['zone_id'] < 1) { $check_flag = true; break; } elseif ($check['zone_id'] == $order->delivery['zone_id']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } } if ($this->check() > 0) { //update compatibility if (!defined('MODULE_SHIPPING_freeamount2_NUMBER_ZONES')) { xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_freeamount2_NUMBER_ZONES', '1', '6', '0', now())"); if (defined('MODULE_SHIPPING_freeamount2_AMOUNT')) { if (!defined('MODULE_SHIPPING_freeamount2_COUNTRIES_1')) { xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_SHIPPING_freeamount2_COUNTRIES_1', '". MODULE_SHIPPING_freeamount2_ALLOWED
."', '6', '0', 'xtc_cfg_textarea(', now())"); } if (!defined('MODULE_SHIPPING_freeamount2_AMOUNT_1')) { xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_freeamount2_AMOUNT_1', '". MODULE_SHIPPING_freeamount2_AMOUNT
."', '6', '0', now())"); } } } if (!defined('MODULE_SHIPPING_freeamount2_ZONE')) { xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_SHIPPING_freeamount2_ZONE', '0', '6', '2', 'xtc_get_zone_class_title', 'xtc_cfg_pull_down_zone_classes(', now())"); } $check_zones_query = xtc_db_query
("SELECT * FROM " . TABLE_CONFIGURATION
. " WHERE configuration_key LIKE 'MODULE_SHIPPING_freeamount2_COUNTRIES_%'"); $check_zones_rows = xtc_db_num_rows
($check_zones_query); if ($check_zones_rows != $this->num_zones) { $this->install_zones($check_zones_rows); } } } function quote
($method = '') { global $xtPrice, $order; $dest_country = $order->delivery['country']['iso_code_2']; $dest_zone = 0; for ($i=1; $i<=$this->num_zones; $i++) { $countries_table = constant('MODULE_SHIPPING_freeamount2_COUNTRIES_' . $i); $countries_table = preg_replace("'[\r\n\s]+'",'',$countries_table); $country_zones = explode(',', $countries_table); if (in_array($dest_country, $country_zones)) { $dest_zone = $i; break; } // rest of the world if ($countries_table == 'WORLD') { $dest_zone = $i; } // rest of the world eof } $this->quotes = array('id' => $this->code, 'module' => $this->title); if ($dest_zone == 0) { if (MODULE_SHIPPING_freeamount2_DISPLAY
== 'True') { $this->quotes['error'] = MODULE_SHIPPING_freeamount2_INVALID_ZONE
; } else { $this->enabled = false; } } else { $freeamount2_zone = constant('MODULE_SHIPPING_freeamount2_AMOUNT_' . $dest_zone); if (( $xtPrice->xtcRemoveCurr($_SESSION['cart']->show_total()) < $freeamount2_zone) && MODULE_SHIPPING_freeamount2_DISPLAY
== 'False') { $this->enabled = false; } if ($xtPrice->xtcRemoveCurr($_SESSION['cart']->show_total()) < $freeamount2_zone) { $this->quotes['error'] = sprintf(MODULE_SHIPPING_freeamount2_TEXT_WAY
, $xtPrice->xtcFormat($freeamount2_zone, true, 0, true)); } else { $this->quotes['methods'] = array(array('id' => $this->code, 'title' => sprintf(MODULE_SHIPPING_freeamount2_TEXT_WAY
, $xtPrice->xtcFormat($freeamount2_zone, true, 0, true)), 'cost' => 0)); } } if (xtc_not_null
($this->icon)) $this->quotes['icon'] = xtc_image
($this->icon, $this->title); if ($this->enabled) return $this->quotes; } function check
() { if (!isset($this->_check
)) { $check_query = xtc_db_query
("select configuration_value from " . TABLE_CONFIGURATION
. " where configuration_key = 'MODULE_SHIPPING_freeamount2_STATUS'"); $this->_check
= xtc_db_num_rows
($check_query); } return $this->_check
; } function install
() { xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_SHIPPING_freeamount2_STATUS', 'True', '6', '7', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_SHIPPING_freeamount2_ALLOWED', '', '6', '0', 'xtc_cfg_textarea(', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_SHIPPING_freeamount2_DISPLAY', 'True', '6', '7', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_SHIPPING_freeamount2_ZONE', '0', '6', '2', 'xtc_get_zone_class_title', 'xtc_cfg_pull_down_zone_classes(', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_freeamount2_SORT_ORDER', '0', '6', '4', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_freeamount2_NUMBER_ZONES', '1', '6', '0', now())"); $check_zones_query = xtc_db_query
("SELECT * FROM " . TABLE_CONFIGURATION
. " WHERE configuration_key LIKE 'MODULE_SHIPPING_".strtoupper($this->code)."_COUNTRIES_%'"); $check_zones_rows_query = xtc_db_num_rows
($check_zones_query); if ($check_zones_rows_query != 0) { $this->install_zones($check_zones_rows_query); xtc_db_query
("UPDATE ".TABLE_CONFIGURATION
."
SET configuration_value = '".(int
)$check_zones_rows_query."'
WHERE configuration_key = 'MODULE_SHIPPING_".strtoupper($this->code)."_NUMBER_ZONES'"); } } function install_zones
($number_of_zones) { // backup old values xtc_backup_configuration
($this->keys_zones($number_of_zones)); // add new zone if ($number_of_zones <= $this->num_zones) { for ($i = (($number_of_zones==0) ?
1 : $number_of_zones); $i <= $this->num_zones; $i ++) { $check_zones_query = xtc_db_query
("SELECT * FROM " . TABLE_CONFIGURATION
. " WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_COUNTRIES_".$i."'"); if (xtc_db_num_rows
($check_zones_query) < 1) { xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_SHIPPING_freeamount2_COUNTRIES_".$i."', '', '6', '0', 'xtc_cfg_textarea(', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_freeamount2_AMOUNT_".$i."', '', '6', '0', now())"); } } } else { // remove zone for ($i = $number_of_zones; $i >= $this->num_zones; $i --) { xtc_db_query
("delete from " . TABLE_CONFIGURATION
. " where configuration_key = 'MODULE_SHIPPING_freeamount2_COUNTRIES_".$i."'"); xtc_db_query
("delete from " . TABLE_CONFIGURATION
. " where configuration_key = 'MODULE_SHIPPING_freeamount2_AMOUNT_".$i."'"); } } // set standard values for ($i = 1; $i <= $this->num_zones; $i ++) { if ($i == 1) { xtc_db_query
("UPDATE " . TABLE_CONFIGURATION
. " SET configuration_value = 'DE' WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_COUNTRIES_1'"); xtc_db_query
("UPDATE " . TABLE_CONFIGURATION
. " SET configuration_value = '50.00' WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_AMOUNT_1'"); } if ($i == 2) { xtc_db_query
("UPDATE " . TABLE_CONFIGURATION
. " SET configuration_value = 'AT,BE,BG,CY,CZ,DK,EE,ES,FI,FR,GB,GR,HU,IE,IT,LT,LU,LV,MC,MT,NL,PL,PT,RO,SE,SI,SK' WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_COUNTRIES_2'"); xtc_db_query
("UPDATE " . TABLE_CONFIGURATION
. " SET configuration_value = '100.00' WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_AMOUNT_2'"); } if ($i == 3) { xtc_db_query
("UPDATE " . TABLE_CONFIGURATION
. " SET configuration_value = 'AD,AL,AM,AZ,BA,BY,CH,FO,GE,GI,GL,HR,IS,KZ,LI,MD,ME,MK,NO,RS,RU,SM,TR,UA,VA' WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_COUNTRIES_3'"); xtc_db_query
("UPDATE " . TABLE_CONFIGURATION
. " SET configuration_value = '150.00' WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_AMOUNT_3'"); } if ($i == 4) { xtc_db_query
("UPDATE " . TABLE_CONFIGURATION
. " SET configuration_value = 'CA,DZ,EG,IL,JO,LB,LR,LY,MA,PM,PS,SY,TN,US' WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_COUNTRIES_4'"); xtc_db_query
("UPDATE " . TABLE_CONFIGURATION
. " SET configuration_value = '200.00' WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_AMOUNT_4'"); } if ($i == 5) { xtc_db_query
("UPDATE " . TABLE_CONFIGURATION
. " SET configuration_value = 'AE,AF,AG,AI,AN,AO,AR,AU,AW,BB,BD,BF,BH,BI,BJ,BM,BN,BO,BR,BS,BT,BW,BZ,CD,CF,CG,CI,CK,CL,CM,CN,CO,CR,CU,CV,DJ,DM,DO,EC,ER,ET,FJ,FK,FM,GA,GD,GF,GH,GM,GN,GP,GQ,GT,GU,GW,GY,HK,HN,HT,ID,IN,IQ,IR,JM,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,LA,LC,LK,LS,MG,MH,ML,MM,MN,MO,MP,MQ,MR,MS,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NG,NI,NP,NR,NZ,OM,PA,PE,PF,PG,PH,PK,PN,PR,PY,QA,RE,RW,SA,SB,SC,SD,SG,SH,SL,SN,SO,SR,ST,SV,SZ,TC,TD,TG,TH,TJ,TM,TO,TT,TV,TW,TZ,UG,UY,UZ,VC,VE,VN,VU,WF,WS,YE,ZA,ZM,ZW' WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_COUNTRIES_5'"); xtc_db_query
("UPDATE " . TABLE_CONFIGURATION
. " SET configuration_value = '250.00' WHERE configuration_key = 'MODULE_SHIPPING_freeamount2_AMOUNT_5'"); } } // restore old values xtc_restore_configuration
($this->keys_zones($this->num_zones)); } function remove
() { xtc_db_query
("delete from " . TABLE_CONFIGURATION
. " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys_zones
($zones) { $keys_zones = array(); for ($i = 1; $i <= $zones; $i ++) { $keys_zones[] = 'MODULE_SHIPPING_freeamount2_COUNTRIES_' . $i; $keys_zones[] = 'MODULE_SHIPPING_freeamount2_AMOUNT_' . $i; } return $keys_zones; } function keys
() { $keys = array('MODULE_SHIPPING_freeamount2_STATUS', 'MODULE_SHIPPING_freeamount2_ALLOWED', 'MODULE_SHIPPING_freeamount2_ZONE', 'MODULE_SHIPPING_freeamount2_SORT_ORDER', 'MODULE_SHIPPING_freeamount2_NUMBER_ZONES', 'MODULE_SHIPPING_freeamount2_DISPLAY' ); $keys = array_merge($keys, $this->keys_zones($this->num_zones)); return $keys; } }?> Vielen Dank schon mal für eure kompetente Hilfe
Lg Wolfgang
Linkback: https://www.modified-shop.org/forum/index.php?topic=40952.0