Page 1 of 2
Aanpassing in admin factuur
Posted: Sat Mar 31, 2012 8:42 pm
by Bart
Graag zou ik in mijn OpenCart admin-facturen in geval van een Sisow-iDEAL-betaling een tekstregel toevoegen
(waarin ik een klant bevestig dat er inmiddels via iDeal is betaald) en in geval van een bankoverschrijving een andere tekstregel invoegen (met oproep tot betalen). Een IF-ELSE-PHP-code aanpassing normaalgesproken. Enig idee welke aanpassing in de template en controller files daarvoor nodig zijn?
Re: Aanpassing in admin factuur
Posted: Sun Apr 01, 2012 3:21 am
by victorj
Als je gebruik maakt van de prof invoice and packingslip krijg je a een mooiere factuur en hierin is de betaalmethode al opgenomen.
in de taal bestanden heb ik dan nog toegevoegd factuur is voldaan
is het probleem in 1 keer getackeld
Re: Aanpassing in admin factuur
Posted: Sun Apr 01, 2012 4:28 pm
by Bart
victorj wrote:Als je gebruik maakt van de prof invoice and packingslip krijg je a een mooiere factuur en hierin is de betaalmethode al opgenomen.
in de taal bestanden heb ik dan nog toegevoegd factuur is voldaan
is het probleem in 1 keer getackeld
Nee, helaas niet!!!
De "prof invoice" vermeldt wel de gekozen betaalwijze, maar dat doet mijn standaard invoice ook.
Wat ik graag zou willen is een extra, verklarende tekstregel
indien de klant bijvoorbeeld heeft gekozen voor iDeal en een
andere verklarende tekstregel indien de klant gekozen heeft voor een overschrijving na ontvangst.
Dat vergt een php-aanpassing in het tpl-bestand, maar ook een aanpassing in het gekoppelde controller-bestand. Maar welke?
Re: Aanpassing in admin factuur
Posted: Tue Apr 03, 2012 2:21 am
by victorj
Eens even heel diep over na zitten denken.
Je zou bij de status van de bestelling eventueel extra regels aan kunnen maken die precies aangeven wat je op de factuur wilt zien.
Dit is dan tevens in de winkel een goede status van de bestelling.
Je hoeft dan alleen dit veld uit de database te halen en op de factuur in te voegen in de php en tpl file in te voeren.
Re: Aanpassing in admin factuur
Posted: Tue Apr 03, 2012 2:47 pm
by Bart
victorj wrote:Eens even heel diep over na zitten denken.
Je zou bij de status van de bestelling eventueel extra regels aan kunnen maken die precies aangeven wat je op de factuur wilt zien.
Dit is dan tevens in de winkel een goede status van de bestelling.
Je hoeft dan alleen dit veld uit de database te halen en op de factuur in te voegen in de php en tpl file in te voeren.
Ja, maar zou jij kunnen bedenken hoe de "If - Else - php-code" eruit moet zien in het controller-bestand?
Re: Aanpassing in admin factuur
Posted: Wed Apr 04, 2012 2:53 am
by victorj
Dat wordt een pittige if else querie.
hiervoor moet je dan de bestel methode en de bestel status uit de database vissen en hier een dubbele querie op loslaten hoop werk.
je hebt de status van de bestelling al in de databse staan.
Als je die goed hebt ingesteld, is de status van de bestelling na onvangst van iDeal automatisch gezet op betaling via iDeal ontvangen, althans bij mij wel want zo heb ik hem genoemd.
gebruik je vooruitbetalen per bank, dan is na afhandelen van de order de status van de bestelling standaar wachten op betaling.
je kunt hier ook een andere waarde aan geven doo reeb extra melding aan te maken bij de bestelstatus onder configuratie internationaal bestelstatussen
Je koppeld die status aan de betaal extensie vooruit betalen.
als je nu de status uit de database plukt en in de factuur zet ben je er ook
Re: Aanpassing in admin factuur
Posted: Wed Apr 04, 2012 2:53 am
by victorj
Dat wordt een pittige if else querie.
hiervoor moet je dan de bestel methode en de bestel status uit de database vissen en hier een dubbele querie op loslaten hoop werk.
je hebt de status van de bestelling al in de databse staan.
Als je die goed hebt ingesteld, is de status van de bestelling na onvangst van iDeal automatisch gezet op betaling via iDeal ontvangen, althans bij mij wel want zo heb ik hem genoemd.
gebruik je vooruitbetalen per bank, dan is na afhandelen van de order de status van de bestelling standaar wachten op betaling.
je kunt hier ook een andere waarde aan geven doo reeb extra melding aan te maken bij de bestelstatus onder configuratie internationaal bestelstatussen
Je koppeld die status aan de betaal extensie vooruit betalen.
als je nu de status uit de database plukt en in de factuur zet ben je er ook
Re: Aanpassing in admin factuur
Posted: Thu Apr 05, 2012 4:59 am
by Diegotjes
IK wil dit graag gebruiken voor de nieuwste versie van Opencart. (5.2.1) Zit daarvoor al een update in de pijplijn of is er een workaround om deze toch aan de gang te krijgen hij is namelijk wel helemaal netjes wat mij betreft.
Met de huidige aanpassingen in de install file gaat het niet lukken, database is nu toch een beetje anders.
Re: Aanpassing in admin factuur
Posted: Thu Apr 05, 2012 4:59 pm
by Gerrit
Ik weet niet welke versie hier wordt besproken, maar in de laatste versie is dit standaard op de factuur.
Rechts boven in de hoek staat de verzendmethode en daarboven de betaal methode.
Het lijkt mij dan ook dat je dit kan kopieren naar een lagere versie of naar de prof invoice slip.
G.
Re: Aanpassing in admin factuur
Posted: Thu Apr 05, 2012 5:15 pm
by Bart
Misschien toch nog even een verduidelijking van mijn oorspronkelijke vraag.
In de facturen is het geen probleem om het woordje "iDeal" ofwel "Overschrijving" te laten verschijnen als klanten hebben gekozen voor ofwel iDeal of een eigen bankovermaking. Maar... in het tweede geval is er dus nog een actie van de klant nodig. Omdat de factuur vervolgens naar de klant wordt gestuurd, lijkt het handig om in geval van een "eigen overmaking" nog een extra regel op te nemen waarin wordt vermeld dat de klant binnen een bepaald aantal dagen geacht wordt het factuurbedrag over te maken naar dit en dat rekeningnummer.
Bij iDeal kan die informatie vervallen. Er is immers al betaald.
Waar ik naar zoek is dus een mogelijkheid om een EXTRA regel met info te laten verschijnen op de fatuur.
In geval van iDeal kan er staan dat de klant reeds heeft betaald.
In geval van de keuze voor een bankoverschrijving komt er echter een betalingsoproep te staan met specifieke informatie (die achterwege kan blijven bij een iDeal-betaling).
Re: Aanpassing in admin factuur
Posted: Thu Apr 05, 2012 8:45 pm
by Gerrit
wat ik begrijp is, dat als er niet betaald is maar op rekening geleverd wordt, of dat de factuur voor de spullen worden afgestuurd je binnen 7 of 30 dagen dient te betalen er een melding van gemaakt wordt.
Dat is wel te doen, omdat bij de betaaloptie die getoond wordt al bekend is welke betaaloptie de klant heeft gekozen.
Wil hier wel even naar kijken.
Misschien dat ik het op template niveau voor je kan oplossen.
G.
Re: Aanpassing in admin factuur
Posted: Thu Apr 05, 2012 9:20 pm
by Bart
Gerrit, Dat zou fantastisch zijn! Na de omarming van OpenCart heb ik de afgelopen maanden mijn tanden gezet in tal van kleinere en grotere aanpassingen: de "struggle" om je OpenCart eigen te maken en te personaliseren (hoewel de pech vervolgens is dat aanpassingen in de broncode moeilijk of heel tijdrovend te verenigen zijn met de upgrade naar 1.5.2; dus ik hou het voorlopig maar even bij 1.5.1.3.).
Uiteindelijk ben ik een enorm eind gekomen - na vaak veel gepuzzel.
Alleen over deze factuur-aanpassing bleef ik de afgelopen dagen struikelen. Fijn dus dat je ernaar wilt kijken!
Re: Aanpassing in admin factuur
Posted: Thu Apr 05, 2012 10:23 pm
by Gerrit
// edit: Dit is voor 1.5.2.1
Hallo Bart, er zijn een paar bestanden die je moet aanpassen.
Maak voor je begint even een kopie van deze bestanden en bewaar ze op een veilige plek.
Het zijn:
De admin template invoice, de admin order.php en de twee of meer taalbestanden.
Het resultaat is iets als dit.
test.jpg (89.98 KiB) Viewed 6452 times
Als een klant op rekening wil betalen dan komt er op de factuur een regel uit je tekst bestand.
Mooier is het nog als je uit de tabel order_history het veld comment zou kunnen inlezen.
Dit veld is namelijk gevuld met de informatie die je nodig hebt en wat je ook hebt ingevuld bij de betaaloptie Overschrijven.
Helaas heb ik daar geen tijd voor om dat uit te zoeken, maar dit werkt ook
Taalbestand:
open taalbestand admin/language/dutch/sale/order.php en voeg de volgende regel toe:
Code: Select all
$_['text_payment_info'] = 'Let Op!! Deze tekst komt uit het taal bestand en kan je zelf aanpassen.';
Het spreekt voor zich dat je hier iets van je zelf gaat zetten.
Dit kan je nu opslaan.
open je admin/controller/sale/order.php
vind in de public_function_invoice() de volgende regel
Code: Select all
$total_data = $this->model_sale_order->getOrderTotals($order_id);
voeg achter deze regel de volgende code toe:
Code: Select all
$payment_info = $this->language->get('text_payment_info');
Onder dit vind je een array waarin je deze payment_info moet toevoegen.
Zoek:
Voeg na:
Code: Select all
'payment_method' => $order_info['payment_method'],
de volgende twee regels toe:
Code: Select all
'payment_code' => $order_info['payment_code'],
'payment_info' => $payment_info,
De regel payment_code is een afkorting in de database voor de betaalsoort. Deze gebruiken we in de template om de tekst van de betaalwijze omschrijving toe te voegen.
Dit bestand kan je bewaren.
Open de template admin/view/template/sale/invoice.tpl
vind:
voeg voor deze code de volgende regels toe:
Code: Select all
<?php if ($order['payment_code'] == 'bank_transfer') { ?>
<table class="product">
<tr class="heading">
<td><b><?php echo $text_payment_method; ?></b></td>
</tr>
<tr>
<td><?php echo $order['payment_info']; ?></td>
</tr>
</table>
<?php } ?>
Dit bestand kan je nu bewaren.
Als een klant op een andere wijze wil betalen dan komt deze melding niet in beeld.
Re: Aanpassing in admin factuur
Posted: Fri Apr 06, 2012 5:42 am
by Bart
Gerrit,
Krijg deze fout-code:
Notice: Undefined index: payment_code in
...htdocs/www/winkel/vqmod/vqcache/vq2-admin_controller_sale_order.php on line 4603
Enig idee?
Re: Aanpassing in admin factuur
Posted: Fri Apr 06, 2012 3:32 pm
by Gerrit
Bart wrote:Gerrit,
Krijg deze fout-code:
Notice: Undefined index: payment_code in
...htdocs/www/winkel/vqmod/vqcache/vq2-admin_controller_sale_order.php on line 4603
Enig idee?
Stom, ik was ervan uit gegaan dat je met 1.5.2 werkt en zie nu dat je met 1.5.1.3 deze aanpassing wilt hebben.
Het veld payment_code bestaat niet in de database van 1.5.1.3
Ik zal er even iets omheen schrijven.
G.
Re: Aanpassing in admin factuur
Posted: Fri Apr 06, 2012 4:30 pm
by Gerrit
Voor versie 1.5.1.3 ga je deze aanpassingen maken.
Maak voor je iets veranderd altijd een kopie van je bestanden.
Open je taal bestand admin/language/dutch/sale/order.php en voeg de volgende regels toe:
Code: Select all
$_['text_payment_info'] = 'Betaal deze factuur binnen 7 dagen, uw bestelling wordt na ontvangst van de betaling verzonden.<br />
Bank ING 1234567890<br />
t.n.v. Voorbeeld Shop<br /> ';
Dat doe je ook voor de engelse taal.
De getoonde tekst is slechts een voorbeeld en dien jezelf aan te passen.
Bewaar dit bestand.
Open de file:
admin/controller/sale/order.php en maak de volgende aanpassingen.
Vind:
Code: Select all
$this->data['text_ship_to'] = $this->language->get('text_ship_to');
Voeg hier achter toe:
Code: Select all
$this->data['text_payment_method'] = $this->language->get('text_payment_method');
$this->data['text_shipping_method'] = $this->language->get('text_shipping_method');
Vind:
Code: Select all
$total_data = $this->model_sale_order->getOrderTotals($order_id);
Voeg hierachter toe:
Code: Select all
$payment_info = $this->language->get('text_payment_info');
Hieronder zioe je een reeks met een array staan.
Zoek hier in naar de regel:
Code: Select all
'shipping_address' => $shipping_address,
Voeg hierna toe:
Code: Select all
'shipping_method' => $order_info['shipping_method'],
Hieronder vind je een regel met:
Code: Select all
'payment_address' => $payment_address,
Voeg hierna toe:
Code: Select all
'payment_method' => $order_info['payment_method'],
'payment_info' => $payment_info,
Bewaar dit bestand.
Open de template admin/view/template/asle/invoice.tpl
en maak de volgende veranderingen.
Vind:
Code: Select all
<tr>
<td><b><?php echo $text_order_id; ?></b></td>
<td><?php echo $order['order_id']; ?></td>
</tr>
Voeg hierna toe:
Code: Select all
<tr>
<td><b><?php echo $text_payment_method; ?></b></td>
<td><?php echo $order['payment_method']; ?></td>
</tr>
<?php if ($order['shipping_method']) { ?>
<tr>
<td><b><?php echo $text_shipping_method; ?></b></td>
<td><?php echo $order['shipping_method']; ?></td>
</tr>
<?php } ?>
vind:
Voeg hiervoor toe:
Code: Select all
<?php if ($order['payment_method'] == 'Overschrijving' || $order['payment_method'] == 'Bank Transfer') { ?>
<table class="product">
<tr class="heading">
<td><b><?php echo $text_payment_method; ?></b></td>
</tr>
<tr>
<td><?php echo $order['payment_info']; ?></td>
</tr>
</table>
<?php } ?>
Bewaar dit bestand.
Het resultaat zou nu de afbeelding zijn zoals die hierboven staat.
Re: Aanpassing in admin factuur
Posted: Fri Apr 06, 2012 7:00 pm
by i2Paq
Wat een SUPER mod Gerrit!
Zou het mogelijk zijn er nog een 2-tal footers aan toe te voegen?
Footer1 met de tekst bv.:
Bij betaling achteraf dient deze binnen 8 dagen te geschieden op rekening 12.34.56.78 tnv. OpenCart, onder vermelding van bestel- of factuurnummer.
Footer2: Merklogo's cq. Logo's Keurmerken
Deze hoeft, volgens mij, alleen in de tpl.
Re: Aanpassing in admin factuur
Posted: Fri Apr 06, 2012 8:30 pm
by Bart
Gerrit, TOP!!!
Het werkt!!!
Slotvraag: Indien ik bij een klantkeuze voor iDeal (in plaats van een "overschrijving") OOK een aanvullende info-regel zou willen hebben, maar dan een aangepaste regel (Bijvoorbeeld: "U heeft reeds betaald middels iDeal..." etc), zou ik dan de door jou beschreven exercitie kunnen herhalen (maar dan met iDEAL) en zou ik de aanvullende Ideal-php-code dan in het template-bestand onder de door jou genoemde code kunnen plaatsen?
OF... kan dat alleen met de php-code "else" na de "if"?
Re: Aanpassing in admin factuur
Posted: Fri Apr 06, 2012 8:37 pm
by Gerrit
i2Paq wrote:Wat een SUPER mod Gerrit!
Zou het mogelijk zijn er nog een 2-tal footers aan toe te voegen?
Footer1 met de tekst bv.:
Bij betaling achteraf dient deze binnen 8 dagen te geschieden op rekening 12.34.56.78 tnv. OpenCart, onder vermelding van bestel- of factuurnummer.
Footer2: Merklogo's cq. Logo's Keurmerken
Deze hoeft, volgens mij, alleen in de tpl.
Dat kan wel, want je kan natuurlijk bekijken wat de voorkeur van de klant is met betalen.
Zo zou je ook kunnen nagaan of er een iDeal betaling is geweest van bijv. Mollie of Sisow.
Jouw footer 1 zou je vanuit het taalbestand kunnen laten lopen ipv mijn geopperde tekst en laten zien op het moment dat de klant achteraf wil betalen.
Footer 2 zou ik uit de template laten komen.
Deze zogenaamde factuur zou standaard met logo en andere gegevens moeten uitlopen als btw nummer en kvk nummer.
Ook dit kan je uit het taalbestand laten komen.
zal hier morgen ook nog even aandacht aanschenken, had ik al eens eerder gedaan voor 1.4.9.x maar het is altijd handig om gegevens centraal te hebben.
Ik zal hier morgen even induiken, moet zo weer aan de bak.
Misschien dat het een idee is om eventueel ook de barcode van je pakket mee te sturen? Even een uitdaging!
G.
Re: Aanpassing in admin factuur
Posted: Fri Apr 06, 2012 8:42 pm
by Gerrit
Bart wrote:Gerrit, TOP!!!
Het werkt!!!
Slotvraag: Indien ik bij een klantkeuze voor iDeal (in plaats van een "overschrijving") OOK een aanvullende info-regel zou willen hebben, maar dan een aangepaste regel (Bijvoorbeeld: "U heeft reeds betaald middels iDeal..." etc), zou ik dan de door jou beschreven exercitie kunnen herhalen (maar dan met iDEAL) en zou ik de aanvullende Ideal-php-code dan in het template-bestand onder de door jou genoemde code kunnen plaatsen?
OF... kan dat alleen met de php-code "else" na de "if"?
Je hebt het goed, kan je er gewoon onder plakken. wel de volgorde even aanhouden. Je zou zelfs even kunnen kijken of je iets als dit kan maken.
als ideal dan $tekst == 'bla bla' anders $tekst == 'bler bler'
Had net al gereageerd maar deze nog niet gelezen, kijk anders morgen in de loop van de dag nog even hier.
G.