Post by Bart » Sat Mar 31, 2012 8:42 pm

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?

New member

Posts

Joined
Tue Feb 14, 2012 6:49 pm

Post by victorj » Sun Apr 01, 2012 3:21 am

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

Koeltechnische deurrubbers eenvoudig online op maat bestellen.
Alle niet stekplichtige onderdelen zoals scharnieren, sloten, randverwarming en verlichting voor alle typen koelingen en vriezers.
https://koelcel-onderdelen.com


User avatar
Expert Member

Posts

Joined
Sat Jun 25, 2011 4:09 am
Location - Alkmaar Holland

Post by Bart » Sun Apr 01, 2012 4:28 pm

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?

New member

Posts

Joined
Tue Feb 14, 2012 6:49 pm

Post by victorj » Tue Apr 03, 2012 2:21 am

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.

Koeltechnische deurrubbers eenvoudig online op maat bestellen.
Alle niet stekplichtige onderdelen zoals scharnieren, sloten, randverwarming en verlichting voor alle typen koelingen en vriezers.
https://koelcel-onderdelen.com


User avatar
Expert Member

Posts

Joined
Sat Jun 25, 2011 4:09 am
Location - Alkmaar Holland

Post by Bart » Tue Apr 03, 2012 2:47 pm

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?

New member

Posts

Joined
Tue Feb 14, 2012 6:49 pm

Post by victorj » Wed Apr 04, 2012 2:53 am

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

Koeltechnische deurrubbers eenvoudig online op maat bestellen.
Alle niet stekplichtige onderdelen zoals scharnieren, sloten, randverwarming en verlichting voor alle typen koelingen en vriezers.
https://koelcel-onderdelen.com


User avatar
Expert Member

Posts

Joined
Sat Jun 25, 2011 4:09 am
Location - Alkmaar Holland

Post by victorj » Wed Apr 04, 2012 2:53 am

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

Koeltechnische deurrubbers eenvoudig online op maat bestellen.
Alle niet stekplichtige onderdelen zoals scharnieren, sloten, randverwarming en verlichting voor alle typen koelingen en vriezers.
https://koelcel-onderdelen.com


User avatar
Expert Member

Posts

Joined
Sat Jun 25, 2011 4:09 am
Location - Alkmaar Holland

Post by Diegotjes » Thu Apr 05, 2012 4:59 am

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.

www.zintano.nl webshop voor al je telefoonaccessoires en accu´s


New member

Posts

Joined
Tue Mar 27, 2012 2:56 am

Post by Gerrit » Thu Apr 05, 2012 4:59 pm

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.

For modelcars cars see my OC 3.0.2.0 shop: http://www.gbcars.nl/
For Wooden Toys see my 2.3.0.2 shop: https://www.dehoutentreinenwinkel.nl/


User avatar
Active Member

Posts

Joined
Fri Nov 27, 2009 9:06 pm

Post by Bart » Thu Apr 05, 2012 5:15 pm

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).

New member

Posts

Joined
Tue Feb 14, 2012 6:49 pm

Post by Gerrit » Thu Apr 05, 2012 8:45 pm

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.

For modelcars cars see my OC 3.0.2.0 shop: http://www.gbcars.nl/
For Wooden Toys see my 2.3.0.2 shop: https://www.dehoutentreinenwinkel.nl/


User avatar
Active Member

Posts

Joined
Fri Nov 27, 2009 9:06 pm

Post by Bart » Thu Apr 05, 2012 9:20 pm

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!

New member

Posts

Joined
Tue Feb 14, 2012 6:49 pm

Post by Gerrit » Thu Apr 05, 2012 10:23 pm

// 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

test.jpg (89.98 KiB) Viewed 5287 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:

Code: Select all

$this->data['orders'][] = array(
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:

Code: Select all

</div>
<?php } ?>
</body>
</html>
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.
Last edited by Gerrit on Fri Apr 06, 2012 4:32 pm, edited 1 time in total.

For modelcars cars see my OC 3.0.2.0 shop: http://www.gbcars.nl/
For Wooden Toys see my 2.3.0.2 shop: https://www.dehoutentreinenwinkel.nl/


User avatar
Active Member

Posts

Joined
Fri Nov 27, 2009 9:06 pm

Post by Bart » Fri Apr 06, 2012 5:42 am

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?

New member

Posts

Joined
Tue Feb 14, 2012 6:49 pm

Post by Gerrit » Fri Apr 06, 2012 3:32 pm

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.

For modelcars cars see my OC 3.0.2.0 shop: http://www.gbcars.nl/
For Wooden Toys see my 2.3.0.2 shop: https://www.dehoutentreinenwinkel.nl/


User avatar
Active Member

Posts

Joined
Fri Nov 27, 2009 9:06 pm

Post by Gerrit » Fri Apr 06, 2012 4:30 pm

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.

Code: Select all

                $this->data['orders'][] = array(
 
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:

Code: Select all

</div>
<?php } ?>
</body>
</html>
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.

For modelcars cars see my OC 3.0.2.0 shop: http://www.gbcars.nl/
For Wooden Toys see my 2.3.0.2 shop: https://www.dehoutentreinenwinkel.nl/


User avatar
Active Member

Posts

Joined
Fri Nov 27, 2009 9:06 pm

Post by i2Paq » Fri Apr 06, 2012 7:00 pm

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.

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by Bart » Fri Apr 06, 2012 8:30 pm

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"?

New member

Posts

Joined
Tue Feb 14, 2012 6:49 pm

Post by Gerrit » Fri Apr 06, 2012 8:37 pm

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.

For modelcars cars see my OC 3.0.2.0 shop: http://www.gbcars.nl/
For Wooden Toys see my 2.3.0.2 shop: https://www.dehoutentreinenwinkel.nl/


User avatar
Active Member

Posts

Joined
Fri Nov 27, 2009 9:06 pm

Post by Gerrit » Fri Apr 06, 2012 8:42 pm

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.

For modelcars cars see my OC 3.0.2.0 shop: http://www.gbcars.nl/
For Wooden Toys see my 2.3.0.2 shop: https://www.dehoutentreinenwinkel.nl/


User avatar
Active Member

Posts

Joined
Fri Nov 27, 2009 9:06 pm
Who is online

Users browsing this forum: No registered users and 1 guest