Met de IWD one-step-afrekenen plugin, er is een gratis methode voor afrekenen in één stap.
Hoewel het nog steeds een probleem heeft als je een betaalmethode wilt selecteren, omdat het de beoordelingsamenvatting niet vernieuwt. Deze functie is essentieel voor betaalmethoden die servicekosten toevoegen. Dankzij deze plugin heb ik een code-workaround gevonden.
Schakel jQuery $j in en voeg de volgende code toe in het afrekenproces (onepagecheckout.phtml):
$j(functie($) { $j('input[naam*="betaal[methode]"]').live('klik', functie() { checkout.update({ 'beoordeling': 1, //,'verzendmethode': 1 'betaalmethode': 1 }); setTimeout(functie(){ checkout.update({ 'beoordeling': 1 //'betaalmethode': 1 }); }, 5000); }); $j('input[naam*="verzendmethode"]').live('klik', functie() { checkout.update({ 'beoordeling': 1 ,'betaalmethode': 1 //'verzendmethode': 1 }); setTimeout(functie(){ checkout.update({ 'beoordeling': 1, //'betaalmethode': 1 }); }, 500); }); });
Vanaf nu werkt IWD One Step Checkout met betaalmethoden met servicekosten, omdat de beoordeling/samenvatting vernieuwd is.
Heb je te veel problemen met IWD, probeer het dan gewoon EénStapsAfrekenen.
Sorry, maar het klopt niet helemaal. Er zijn namelijk twee nadelen: als de eerste update na 5 seconden reageert, mislukt de update volledig en de tweede upload (op de 'review order') is niet goed voor de UX (user interface).
Voor mij is de juiste oplossing:
1 verfraaiing van de onepagecheckout.pack.js
2 na de 'update' en voor de 'setResponse' functies, voegt u deze functies toe na regel 195
update2: function (params) {
if (this.loadWaiting != false) {
return
}
if (this.s_code == '') return this.opcdis();
var parameters = $(this.form).serialize(true);
for (var i in params) {
if (!params[i]) {
continue
}
var obj = $('checkout-' + i + '-load');
if (obj != null) {
var size = obj.getDimensions();
obj.setStyle({
'width': size.width + 'px',
'height': size.height + 'px'
}).update('').addClassName('loading');
parameters[i] = params[i]
}
}
checkout.setLoadWaiting(true);
var request = new Ajax.Request(this.updateUrl, {
method: 'post',
onSuccess: this.setResponse2.bind(this),
onFailure: this.ajaxFailure.bind(this),
parameters: parameters
})
},
setResponse2: function (response) {
response = response.responseText.evalJSON();
if (response.redirect) {
location.href = check_secure_url(response.redirect);
return true
}
checkout.setLoadWaiting(false);
if (response.order_created) {
$('onepagecheckout_orderform').action = this.successUrl;
$('opc_submit_form').click();
return true
} else if (response.error_messages) {
var msg = response.error_messages;
if (typeof (msg) == 'object') {
msg = msg.join("\n")
}
alert(msg)
}
$('review-please-wait').hide();
if (response.update_section) {
for (var i in response.update_section) {
ch_obj = $('checkout-' + i + '-load');
if (ch_obj != null) {
ch_obj.setStyle({
'width': 'auto',
'height': 'auto'
}).update(response.update_section[i]).setOpacity(1).removeClassName('loading');
if (i === 'shipping-method') {
shippingMethod.addObservers()
}
}
}
}
if (response.duplicateBillingInfo) {
shipping.syncWithBilling()
}
if (!response.reload_totals) {
checkout.update({
'review': 1
})
}
return false
},
3 uw code zal worden gewijzigd in
$j(functie($) {
$j('input[naam*="betaal[methode]"]').live('klik', functie() {
uitchecken.update2({
'recensie': 1,
'betaalmethode': 1
});
});
$j('input[naam*="verzendmethode"]').live('klik', functie() {
uitchecken.update({
'recensie': 1
,'betaalmethode': 1
});
setTimeout(functie(){
uitchecken.update({
'recensie': 1,
});
}, 500);
});
});
Geweldig, ik ga het binnenkort testen, bedankt voor de input! Er is nog steeds een vreemde fout dat wanneer de betaling mislukt en het terugvalt naar de site, de winkelwagen leeg is en je de bestelling dus niet opnieuw kunt verwerken. Heb je daar ook een oplossing voor? Ik ga er binnenkort ook naar kijken.
Hoi,
Ik heb de review-refresh code al gevonden in de Brasil Checkout (volgens mij gebaseerd op IWD). Ik moet een manier vinden om geannuleerde betalingen te laten resulteren in geannuleerde orders, in plaats van in afwachting van orders. Heb je een idee?
Voor de lege winkelwagen gebruik ik een code van vout.nl checkout
bewerk /etc/config.xml en plaats dit erna:
eenpaginacheckout/observer
setEmptyCartSjabloon
verwijderen :
legeWinkelwagen
vanin /Model/Observer.php toevoegen:
openbare functie setEmptyCartTemplate()
{
als (Mage::helper('onepagecheckout')->isOnepageCheckoutEnabled())
{
$cartHelper = Mage::helper('afrekenen/winkelwagen');
$layout = Mage::getSingleton('kern/layout');
als (!$cartHelper->getItemsCount()){
$layout->getBlock('checkout.cart')->setTemplate('onepagecheckout/cart/noItems.phtml');
}
}
}
Bekijk de Nederlandse OSC voor meer informatie:
https://github.com/Vout/onestepchecout
Ik heb het betalingsprobleem opgelost, maar nu heb ik dit probleem:
Ik wil dat de review- en betalingssectie wordt vernieuwd wanneer ik de verzendmethode wijzig. Nu verdwijnt de remboursvergoeding pas als ik twee keer op dezelfde verzendmethode klik. Iemand een idee?
Ik zie nu het coderingsprobleem, ik zal het nog eens proberen:
in IWD/Onepagecheckout/etc/config.xml verwijder emptyCart uit:
model
eenpaginacheckout/observer
verwijderGeschiedenisCommentaar
legeWinkelwagen
en voeg toe:
eenpaginacheckout/observer
setEmptyCartSjabloon
Is het mogelijk om alles in één complete uitleg samen te vatten?
Ik heb hetzelfde probleem met IWD one page check out en Lesti FPC! Super geweldige magento booster maar kan hem op dit moment niet gebruiken omdat ik op deze manier geen bestelling kan ontvangen. Heeft iemand hier een oplossing voor?
Met vriendelijke groet Kim, Complimenten aan de auteur
Help me!
Ik gebruik ex One Page Checkout van IWD.
Er zijn wat fouten opgetreden.
One Page Checkout toont geen verzendmethoden en betaalmethoden, hoewel ik dit wel heb ingesteld in de beheeromgeving.
http://www.uphinhnhanh.com/images/65044Hinh1.jpg
toen ik de informatie invulde en buiten de ruimte klikte, begon mijn site te vernieuwen en de verzendmethode weer te geven, maar de betaalmethoden werden niet weergegeven. Totdat ik handmatig vernieuw (F5), de betaalmethoden werden weergegeven en ik kon uiteindelijk betalen
http://www.uphinhnhanh.com/images/32861Hinh2.jpg
Ik moet de browser vernieuwen, maar de betaalmethoden laten het volgende zien:
http://www.uphinhnhanh.com/images/61163hinh3.jpg
ik gebruik magento 1.8
Ik ben geen ontwikkelaar, kunt u mij beter begeleiden?
Ik heb geprobeerd het te repareren 🙁 maar het lukt me niet 🙁
Help mij alstublieft!
Mijn Engels is heel slecht, ik hoop dat je het begrijpt en me kunt helpen