[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
 OpenForum.dk • Vis emne - Betalings-valg afhængigt af Forsendelses-valg

Betalings-valg afhængigt af Forsendelses-valg

Her kan du beskrive smarte løsninger og tips til andre.

Redaktør: Redaktionen

Betalings-valg afhængigt af Forsendelses-valg

Indlægaf JakobHK » 2003-04-5 03:08

Ofte vil det være belejligt at kunne begrænse kundens betalings-valg afhængigt af hvilket leverings-valg kunden har valgt (f.eks. hvis kunden vælger efterkravs-levering, så skal kun være muligt at betale via efterkrav). For at se en demo, så gå til www.skatepro.dk og se hvordan f.eks. efterkrav-levering giver andre betalings-muligheder
end forsendelse-levering.
Her er en beskrivelse af 4 trin til hvordan dette kan implemeteres i MS1-releasen:

1) I filen: catalog/includes/class/payment.php ændres flg. 3 linier:

if ( (tep_not_null($module)) && (in_array($module . '.' . substr($PHP_SELF, (strrpos($PHP_SELF, '.')+1)), $this->modules)) ) {
$this->selected_module = $module;
$include_modules[] = array('class' => $module, 'file' => $module . '.php');

til:

if ( (tep_not_null($module))) {
$modules_param = explode(';', $module);
reset($modules_param);
while (list(, $class) = each($modules_param)) {
$classfile = $class . '.' . substr($PHP_SELF, (strrpos($PHP_SELF, '.')+1));
if (in_array($classfile, $this->modules)) {
$include_modules[] = array('class' => $class, 'file' => $classfile);
}
}
if (sizeof($modules_param) == 1) {
$this->selected_module = $module;
}




2) I alle aktive shipping-moduler i catalog/includes/modules/shipping/ ændres de 2 liner:

function quote($method = '') {
$this->quotes = array('id' => $this->code,

til:

function quote($method = '') {
$this->quotes = array('id' => $this->code,
'allowed_payment' => 'xxx;yyy;zzz',

Skriv navnene på de betalings-moduler som skal vises hvis dette shipping-modul vælges (hvis du kun skriver '', så er alle betalingsmoduler tilladte). F.eks. kan skrives: 'pbscc;girotransfer;banktransfer'.



3) I filen catalog/checkout_payment.php skal du ændre linien:

$payment_modules = new payment;

til:

$payment_modules = new payment($shipping['allowed_payment']);




4) I filen catalog/checkout_shipping.php skal du ændre linierne:

$shipping = array('id' => $shipping,
'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] :
$quote[0]['module'] . ' (' . $quote[0]['methods'][0]['title'] . ')'),
'cost' => $quote[0]['methods'][0]['cost']);

til:

$shipping = array('id' => $shipping,
'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] :
$quote[0]['module'] . ' (' . $quote[0]['methods'][0]['title'] . ')'),
'cost' => $quote[0]['methods'][0]['cost'],
'allowed_payment' => $quote[0]['allowed_payment']);


God fornøjelse :)
Brugeravatar
JakobHK
Moderator
Moderator
 
Indlæg: 267
Tilmeldt: 2003-01-7 13:56
Geografisk sted: Århus

Indlægaf webLeif » 2003-07-7 19:09

En rigtig god idé, men koden giver mig desværre problemer.

Jeg har indsat koden som beskrevet, med hjælp fra Beyond Compare 2. Jeg syntes dog det er underligt at min Apache server igen pludselig går ned med fejl. Det sker når jeg tester betalingsdelen lokal og altid når jeg bruger muligheden i bunden for at gå tilbage i betalingsforløbet.
Jeg ved ikke om det har betydning at jeg samtidigt er logget på Admin.

Jeg var noget forundret første gang det skete, men har siden bygget min shop op igen og hidtil ikke haft nogle problemer. Først efter jeg indsatte denne kode igen er problemet opstået. Selvfølgelig kan jeg løse det ved at fjerne koden igen, men det vil jeg nødig da idéen er rigtig god.

Windows meddeler fejl i Apache.exe og "Hvis du var midt i noget, har du muligvis mistet de oplysninger, du arbejdede med"

Apache error.log : Har ingen indhold fra dagsdato.
Apache access.log : Viser kun normale GET and POST

Mine spørgsmål er derfor:
1. Er der andre der har oplevet noget lignende?
2. Er koden som nævnt, kompatibel med osc MS1?
3. Eller hvad kan årsagen være?
4. Findes der en anden kode der udfører det samme som betalings-valg afhængigt af hvilket leverings-valg
Mvh.

Leif
webLeif
Godt igang
Godt igang
 
Indlæg: 47
Tilmeldt: 2003-06-21 18:27
Geografisk sted: Rødekro

Indlægaf JakobHK » 2003-07-7 19:14

Hej Leif

Udfaldet af fejlen siger desværre ikke så meget om hvor i koden fejlen er :( .

Du er velkommen til at maile mig de filer som du har ændret (i følge beskrivelsen ovenfor), så kan jeg sammenligne med mine filer...

VH
Jakob
Brugeravatar
JakobHK
Moderator
Moderator
 
Indlæg: 267
Tilmeldt: 2003-01-7 13:56
Geografisk sted: Århus

Glimrende lille add-on!

Indlægaf nilfri » 2003-07-7 20:28

Det er rigtigt godt tænkt overfor brugeren - gør livet lidt lettere for dem, og giver færre sager i kundeservice :)

Overordnet spørgsmål fra en wanna-newbie (læs: stadig i overvejelser om hvilken/hvilke CMS).

Hvad sker der generelt, når det kommer ny version af osC? :?

Som jeg læser ovenstående, retter man direkte i original kildetekst - ikke en patch-fil, eller i et "lag" som det hedder i fx. C5. Skal man så løfte rettelserne over pr. håndkraft, er der avancerede værktøjer til at isolere forskelle mellem original og tilrettet, eller?

mvh
Finn
ikke osC bruger (endnu) og ikke kodeka'l (aldrig) :oops:
nilfri
Godt igang
Godt igang
 
Indlæg: 101
Tilmeldt: 2003-07-5 21:39
Geografisk sted: Roskilde

Indlægaf webLeif » 2003-07-7 22:33

Mvh.

Leif
webLeif
Godt igang
Godt igang
 
Indlæg: 47
Tilmeldt: 2003-06-21 18:27
Geografisk sted: Rødekro

Re: Glimrende lille add-on!

Indlægaf JakobHK » 2003-07-8 00:25

Brugeravatar
JakobHK
Moderator
Moderator
 
Indlæg: 267
Tilmeldt: 2003-01-7 13:56
Geografisk sted: Århus

Indlægaf webLeif » 2003-07-9 10:16

Mvh.

Leif
webLeif
Godt igang
Godt igang
 
Indlæg: 47
Tilmeldt: 2003-06-21 18:27
Geografisk sted: Rødekro

Indlægaf specialized » 2004-11-8 02:06

specialized
Novice
Novice
 
Indlæg: 2
Tilmeldt: 2004-09-18 19:36

Indlægaf dinmc » 2004-11-22 16:40

Tak for den gode løsning!! Det burde være standard i OSC. Jeg kører OSC v2.2MS2, og her er der lige lidt smådetaljer som ikke er helt identisk med MS1, men det er lykkedes mig at få det til at virke, unden de store anstrengelser. Pas på ikke at slette "global $order;" linie i "payment" og "shipping" modulerne. Den skal være der i MS2.

MVH
Lars
dinmc
Oldtimer :o)
Oldtimer :o)
 
Indlæg: 246
Tilmeldt: 2004-06-22 18:12

Hvordan fungere det i 2.2MS2 ?

Indlægaf bsonne » 2005-05-15 11:44

Brugeravatar
bsonne
Novice
Novice
 
Indlæg: 24
Tilmeldt: 2005-03-28 14:16
Geografisk sted: Sjælland

Betaling afhænger af forsendelsmåde

Indlægaf uffeand » 2006-01-11 22:06

For nu at afslutte denne tråd. Det har i lang tid irriteret mig at hvis man fx. vælger efterkrav(COD) i forsendelse, så kan man i betaling vælge flere forskellige muligheder, ud over efterkrav. Det er selvfølgeligt noget vrøvl. Omvendt når man vælger alm. forsendelse (FLAT), så skal man i betaling naturligvis ikke kunne vælge efterkrav(COD).
Det skal der nu rådes bod på.
På Oscommerce fandt jeg flg. contribution: http://www.oscommerce.com/community/contributions,2965/, der efter en del tests, alligevel virker efter en lille rettelse.
Jeg vil her vise ex. med moneyorder.php, på dansk check.

HUSK BACKUP !!

// class methods
function update_status() {
global $order;


ÆNDRES TIL

// class methods
function update_status() {
global $order, $shipping;

----------------------------------

} elseif ($check['zone_id'] == $order->billing['zone_id']) {
$check_flag = true;
break;
}
}

ÆNDRES TIL


} elseif ($check['zone_id'] == $order->delivery['zone_id']) {
$check_flag = true;
break;
}
}
------------------------------------
EFTER:

if ($check_flag == false) {
$this->enabled = false;
}
}
INDSÆTES:

// Disable MO when shipping = free!!! end

// Disable MO when shipping = item (Efterkrav)!!! start
if ($shipping['id']=="item_item") {
$this->enabled = false;
}
// Disable MO when shipping =item !!! end

// disable the module if the order only contains virtual products
if ($this->enabled == true) {
if ($order->content_type == 'virtual') {
$this->enabled = false;
}
}
}

---------------------------------------.


Det samme gør sig gældende med ebank.php.
God fornøjelse. Ethvert avsvar fraligges.

Med venlig hilsen

Uffe
uffeand
Godt igang
Godt igang
 
Indlæg: 31
Tilmeldt: 2005-03-13 17:13
Geografisk sted: Frederiksværk

Indlægaf mortal » 2006-01-27 00:38

Hej alle sammen. brug denne contrib.



her kan du vælge hvilket betalingsmetoder der skal være mulige på baggrund af hvilken fragtmetode der er valgt.

yderst nemt at bruge.
Treat others the way you want to be treated
Brugeravatar
mortal
Novice
Novice
 
Indlæg: 12
Tilmeldt: 2005-05-3 22:30

Indlægaf w3 » 2006-01-27 02:21

Hejsa Mortal,
Tak for tippet :)
Lars
Brugeravatar
w3
Moderator
Moderator
 
Indlæg: 1219
Tilmeldt: 2004-10-18 23:15
Geografisk sted: Aulum

Indlægaf Fixfinn » 2006-02-20 22:05

Fixfinn
Novice
Novice
 
Indlæg: 24
Tilmeldt: 2005-12-29 23:07


Tilbage til Tips & Tricks

Hvem er online

Brugere der læser dette forum: Ingen tilmeldte og 11 gæster

cron