#1 (permalink)  
Alt 04.05.2008, 18:58
Erfahrener Benutzer
 
Registriert seit: 09.04.2007
Ort: Wien
Beiträge: 484
Standard Bei Selbstabholung nur Barzahlung?

Hallo allseits!

Ich habe bis jetzt nur per Versand gearbeitet und möchte jetzt auch Selbstabholung anbieten. Dabei soll allerdings nur Barzahlung möglich sein. Kann man irgendeine if Abfrage machen, damit eben dies möglich ist?

Besten Dank im Voraus,
andreas
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 05.05.2008, 09:01
xt:Commerce Support Kunde
 
Registriert seit: 20.09.2006
Beiträge: 168
Standard

Hi Andreas,
ja da gibt's was.

(auch hier nachzulesen!) Ein Beitrag von Steffen44

bzw:

Für Deine andere Bezahlart z.B. Nachnahme in der cod.php:
PHP-Code:
   if (is_object($order)) $this->update_status();
  }


  function 
update_status() {
   global 
$order
suchen und darunter einfügen:

PHP-Code:
// Modul ausschalten

if ($this->enabled == true) {
if (
$_SESSION['shipping']['id'] == 'selfpickup_selfpickup') {
$this->enabled false;
}
}
// Modul ausschalten Ende 
Fertig. Funktioniert einwandfrei. Habe ich auch gerade wieder bei einem anderen Kunden eingebaut - in das moneyorder.php, also Vorkasse Modul.

Uwe
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 05.05.2008, 14:40
Erfahrener Benutzer
 
Registriert seit: 09.04.2007
Ort: Wien
Beiträge: 484
Standard

Hallo Uwe,

mir scheint ich bin zu dämlich dafür. Hatte das schon gefunden (sorry, vergessen dazuzuschreiben), aber erfolglos eingebaut.

HIer zb meine cod.php. Bei Selbstabholung erscheint dennoch die Nachnahme.

<?php

/* -----------------------------------------------------------------------------------------
$Id: cod.php 1003 2005-07-10 18:58:52Z mz $

XT-Commerce - community made shopping
http://www.xt-commerce.com

Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(cod.php,v 1.28 2003/02/14); www.oscommerce.com
(c) 2003 nextcommerce (cod.php,v 1.7 2003/08/24); www.nextcommerce.org

Released under the GNU General Public License
---------------------------------------------------------------------------------------*/

class cod {

var $code, $title, $description, $enabled;

function cod() {
global $order,$xtPrice;

$this->code = 'cod';
$this->title = MODULE_PAYMENT_COD_TEXT_TITLE;
$this->description = MODULE_PAYMENT_COD_TEXT_DESCRIPTION;
$this->sort_order = MODULE_PAYMENT_COD_SORT_ORDER;
$this->enabled = ((MODULE_PAYMENT_COD_STATUS == 'True') ? true : false);
$this->info = MODULE_PAYMENT_COD_TEXT_INFO;
$this->cost;

if ((int) MODULE_PAYMENT_COD_ORDER_STATUS_ID > 0) {
$this->order_status = MODULE_PAYMENT_COD_ORDER_STATUS_ID;
}

if (is_object($order))
$this->update_status();
}

function update_status() {
global $order;
if ($this->enabled == true) {
if ($_SESSION['shipping']['id'] == 'selfpickup_selfpickup') {
$this->enabled = false;
}
}
if (($this->enabled == true) && ((int) MODULE_PAYMENT_COD_ZONE > 0)) {
$check_flag = false;
$check_query = xtc_db_query("select zone_id from ".TABLE_ZONES_TO_GEO_ZONES." where geo_zone_id = '".MODULE_PAYMENT_COD_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;
}
}

}

function javascript_validation() {
return false;
}

function selection() {
global $xtPrice,$order;

if (MODULE_ORDER_TOTAL_COD_FEE_STATUS == 'true') {


$cod_country = false;

//process installed shipping modules
if ($_SESSION['shipping']['id'] == 'flat_flat') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);
if ($_SESSION['shipping']['id'] == 'item_item') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);
if ($_SESSION['shipping']['id'] == 'table_table') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);
if ($_SESSION['shipping']['id'] == 'zones_zones') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);
if ($_SESSION['shipping']['id'] == 'ap_ap') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);
if ($_SESSION['shipping']['id'] == 'dp_dp') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);


if ($_SESSION['shipping']['id'] == 'chp_ECO') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);
if ($_SESSION['shipping']['id'] == 'chp_PRI') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);
if ($_SESSION['shipping']['id'] == 'chp_URG') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);


if ($_SESSION['shipping']['id'] == 'chronopost_chronopost') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHRONOPOST);


if ($_SESSION['shipping']['id'] == 'dhl_ECX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);
if ($_SESSION['shipping']['id'] == 'dhl_DOX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);
if ($_SESSION['shipping']['id'] == 'dhl_SDX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);
if ($_SESSION['shipping']['id'] == 'dhl_MDX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);
if ($_SESSION['shipping']['id'] == 'dhl_WPX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

if ($_SESSION['shipping']['id'] == 'ups_ups') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_UPS);
if ($_SESSION['shipping']['id'] == 'upse_upse') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_UPSE);


if ($_SESSION['shipping']['id'] == 'free_free') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FREE);
if ($_SESSION['shipping']['id'] == 'freeamount_freeamount') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_FREEAMOUNT_FREE);


for ($i = 0; $i < count($cod_zones); $i++) {
if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
$cod_cost = $cod_zones[$i + 1];
$cod_country = true;
break;
} elseif ($cod_zones[$i] == '00') {
$cod_cost = $cod_zones[$i + 1];
$cod_country = true;
break;
} else {
}
$i++;
}
} else {
//COD selected, but no shipping module which offers COD
}

if ($cod_country) {

$cod_tax = xtc_get_tax_rate(MODULE_ORDER_TOTAL_COD_FEE_TAX_CL ASS, $order->delivery['country']['id'], $order->delivery['zone_id']);
$cod_tax_description = xtc_get_tax_description(MODULE_ORDER_TOTAL_COD_FEE _TAX_CLASS, $order->delivery['country']['id'], $order->delivery['zone_id']);
if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 1) {
$cod_cost_value= xtc_add_tax($cod_cost, $cod_tax);
$cod_cost= $xtPrice->xtcFormat($cod_cost_value,true);
}
if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 0 && $_SESSION['customers_status']['customers_status_add_tax_ot'] == 1) {

$cod_cost_value=$cod_cost;
$cod_cost= $xtPrice->xtcFormat($cod_cost,true);
}
if (!$cod_cost_value) {
$cod_cost_value=$cod_cost;
$cod_cost= $xtPrice->xtcFormat($cod_cost,true);
}
$this->cost = '+ '.$cod_cost;


}


return array ('id' => $this->code, 'module' => $this->title, 'description' => $this->info,'module_cost'=>$this->cost);
}

function pre_confirmation_check() {
return false;
}

function confirmation() {
return false;
}

function process_button() {
return false;
}

function before_process() {
return false;
}

function after_process() {
global $insert_id;
if ($this->order_status)
xtc_db_query("UPDATE ".TABLE_ORDERS." SET orders_status='".$this->order_status."' WHERE orders_id='".$insert_id."'");

}

function get_error() {
return false;
}

function check() {
if (!isset ($this->_check)) {
$check_query = xtc_db_query("select configuration_value from ".TABLE_CONFIGURATION." where configuration_key = 'MODULE_PAYMENT_COD_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_PAYMENT_COD_STATUS', 'True', '6', '1', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())");
xtc_db_query("insert into ".TABLE_CONFIGURATION." ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_COD_ALLOWED', '', '6', '0', 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_PAYMENT_COD_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_PAYMENT_COD_SORT_ORDER', '0', '6', '0', now())");
xtc_db_query("insert into ".TABLE_CONFIGURATION." ( configuration_key, configuration_value, configuration_group_id, sort_order, set_function, use_function, date_added) values ('MODULE_PAYMENT_COD_ORDER_STATUS_ID', '0','6', '0', 'xtc_cfg_pull_down_order_statuses(', 'xtc_get_order_status_name', now())");
}

function remove() {
xtc_db_query("delete from ".TABLE_CONFIGURATION." where configuration_key in ('".implode("', '", $this->keys())."')");
}

function keys() {
return array ('MODULE_PAYMENT_COD_STATUS', 'MODULE_PAYMENT_COD_ALLOWED', 'MODULE_PAYMENT_COD_ZONE', 'MODULE_PAYMENT_COD_ORDER_STATUS_ID', 'MODULE_PAYMENT_COD_SORT_ORDER');
}
}
?>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 05.05.2008, 16:15
xt:Commerce Support Kunde
 
Registriert seit: 20.09.2006
Beiträge: 168
Standard

Also soweit ich sehen kann hast Du es richtig eingebaut.

Kannst es eigentlich so einbauen - damit Du später mal weißt was Du alles so geändert hast..

PHP-Code:
// Modul ausschalten

if ($this->enabled == true) {
if (
$_SESSION['shipping']['id'] == 'selfpickup_selfpickup') {
$this->enabled false;
}
}
// Modul ausschalten Ende 
die // Kommentare stören nicht - sie helfen.

Bist Du sicher daß Du die Datei hochgeladen und überschrieben hast?
Browser Cache löschen (F5) und dann noch mal ab dem Schritt Warenkorb den Bestellvorgang versuchen abzuschließen.
Dann dürfte es nicht mehr auftauchen...

Wenns immer noch nicht geht schick mir ne PN mit dem Link...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 01.06.2008, 14:28
Benutzer
 
Registriert seit: 13.05.2007
Beiträge: 96
Standard

Ich habe das gerade mit Nachnahme ausprobiert, klappt aber bei mir nicht!

Ich möchte, wenn die Versandart z.B. Nachnahme angeklickt wird, dass automatisch der Button bei Nachnahme bei Zahlungsweise steht.

Kann mir jemand helfen und erklären wie ich das hinbekomme?

Bei Selbstabholung steht der Button automatisch auf Barzahlung!

Danke
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 01.06.2008, 14:34
Benutzer
 
Registriert seit: 13.05.2007
Beiträge: 96
Standard

Danke, hat sich erledigt, habs gefunden!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 06.03.2009, 11:25
Benutzer
 
Registriert seit: 21.11.2008
Beiträge: 56
Standard bei eurostandardtransfer: function update_status()?

Hallo,
ich möchte auch bei Selbstabholung nur Barzahlung zulassen.
Ich kann nur bei der Zahlart eurostandardtransfer nicht die entsprechende function update_status() finden.
Soll ich den Schnipsel hier irgendwo anders einbauen?

Danke!!
Grüße
Ines
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8 (permalink)  
Alt 22.03.2009, 18:47
xt:Commerce Support Kunde
 
Registriert seit: 15.01.2009
Beiträge: 6
Standard

Zitat:
Zitat von artep0123 Beitrag anzeigen
Danke, hat sich erledigt, habs gefunden!
und????
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
barzahlung, selbstabholung

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Lieferadresse bei Barzahlung weglassen MichaelaP PHP & MysQL Forum 3 30.06.2007 13:26
Versand: Selbstabholung nur Barzahlung xtws Installation und Konfiguration 0 09.07.2005 12:16


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:12 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand