Opencart - Faktura, poštovne

Programovacie jazyky, rady, poradňa...
funny102
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 292
Registrovaný: 07 jan 2006, 18:08

Opencart - Faktura, poštovne

Príspevok od používateľa funny102 »

Dobrý deň, mám taký menši problém čo sa týka php. Mám faktúru v e-shope (opencart) trošku som si ju prerobil a popridával pár stĺpcov a DPH. No nemôžem si dať rady s poštovným s DPH a bez DPH. Poštovne mi vypisuje bez DPH cez script

Kód: Vybrať všetko

<?php echo $total['text']; ?>
nieje problém tam pridať *1,2 aby som mal s DPH. No problém je v tom že toto vypisuje rovno 4 zložky a tj. Medzi-súčet:, Poštovné s DPH:, DPH 20%, Celkom:
Takže si neviem rady tam pridať ani riadok to toho kódu aby mi ho nepridalo 4 krát.
asi mám dve možnosti zmazať to cele a na na novo vytvoriť to čo potrebujem no neviem akými príkazmi to vytiahne z DB (mysql)
alebo pridať jeden riadok a pozrieť to DPH a vynásobiť to.

Nevyznám sa do programovania, tak sa račej pýtam ako by ste to riešili? alebo niake nápady?

V prílohe je obrázok ako to vyzerá a súbor s faktúrou-
pre nahliadnute je db na

Kód: Vybrať všetko

www.mysql.wz.cz 

Kód: Vybrať všetko

Meno: jaross
Heslo: 
//autoeditácia príspevku (29 Sep 2013, 11:26)
No už som to trošku prerobil no mám problém vypísať udaje z tabulky.
Tabluka má názov shop_order_total, vnej su riadky order_id, text, title, code
A ja by som potreboval vypísať riadky podla code a to sú sub_total, shipping, tax, total ak tomu dobre chápem

<?php echo $order_total['????'];

Kód: Vybrať všetko

<tr>
      <td align="right" colspan="9"><b>Súčet bez DPH:</b></td>
      <td align="right"></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>Poštovné bez DPH</b></td>
      <td align="right"></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>Poštovné s DPH</b></td>
   <td align="right"></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>DPH 20 %:</b></td>
     <td align="right"></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>Celok s DPH:</b></td>
     <td align="right"></td>
</tr>
  </table>
[/size]

Dá sa to niako?
Prílohy
Fakura.jpg
order_invoice.rar
(1.74 KiB) 64 stiahnutí
Fakura2.jpg
db.jpg
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Opencart - Faktura, poštovne

Príspevok od používateľa audiotrack »

nájdi si v zdrojáku ako sa naplňa tá premenná $total['text'];
keďže sa tam používa templatovací systém a nevieš programovať, tak to bude jednoduchšie upraviť takto. Do toho tpl nebabri, nerob tam tabuľku lebo si to zkomplikuješ. Daj späť to echo $total['text'] a v php súboroch nájdi kde sa tá premenná naplňa
funny102
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 292
Registrovaný: 07 jan 2006, 18:08

Re: Opencart - Faktura, poštovne

Príspevok od používateľa funny102 »

audiotrack napísal:nájdi si v zdrojáku ako sa naplňa tá premenná $total['text'];
a podľa toho si naplň tú tabuľku. Neviem ako sa k tým hodnotám pristupuje, lebo nepoznám ten systém. Napísať načítavanie z db nanovo by bola hlúposť, lebo istotne to načítane už máš v tej premennej, a teda by sa dala využiť. Len to mierne upraviť
áno to je pravda.
jedine čo som zistil že netreba zadávať db_prefix (shop_), no pohľadám no je tam kvantum prečinkov a ešte viacej suborov.

Kód: Vybrať všetko

<?php foreach ($order['total'] as $total) { ?>
      <td align="right" colspan="9"><b><?php echo $total['title']; ?>:</b></td>
      <td align="right"><?php echo $total['text']; ?></td>
toto ti nepomože čo?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Opencart - Faktura, poštovne

Príspevok od používateľa audiotrack »

nie, nepomôže. Vravím že nie z toho tpl súboru, ale z php. Použi nejaký editor, čo vie prehladávať celý adresár. Napríklad dreamweaver, alebo netbeans. Zadáš tam $total['text'] a zadáš adresár so svojím projektom a nájde ti všetky výskyty vo všetkých súboroch. A keď nájdeš súbor v ktorom sa tá premenná naplňa, tak ho sem pošli :)

//autoeditácia príspevku (29 Sep 2013, 13:24)
tak som to narýchlo kukol. Jedna možnosť je upraviť ten tpl súbor tak ako máš, a posielať tam tie hodnoty. Ak to chceš takto spraviť, tak tpl si sprav tak ako si si spravil, teda do tabuľky. Všade, kde má ísť nejaká hodnota dáš

Kód: Vybrať všetko

<?php echo $order['total']['xxxx']['value']; ?>
kde xxxx je identifikátor, ktorý využiješ v zdrojáku admin/controller/sale/order.php na riadku 2058. Tie štyry čo používaš použiješ klasicky, teda tam v tpl bude

Kód: Vybrať všetko

<?php echo $order['total']['tax']['value']; ?>
a podobne. Pre novú hodnotu si pridáš napr tax2 a pridáš tam do tpl

Kód: Vybrať všetko

<?php echo $order['total']['tax2']['value']; ?>
V súbore order.php na tom riadku 2058 si tú hodnotu vypočítaš:

Kód: Vybrať všetko

$total_data['tax2']['value'] = $total_data['tax']['value'] * 1.2;
a v tpl ešte odstrániš riadky

Kód: Vybrať všetko

<?php foreach ($order['total'] as $total) { ?>
a

Kód: Vybrať všetko

<?php } ?>
druhá možnosť je nič neupravovať v tpl, a v order.php dopísať za riadok 2058 toto:

Kód: Vybrať všetko

$total_data['tax2']['title'] = 'Doprava s DPH';
$total_data['tax2']['value'] = $total_data['tax']['value'] * 1.2;
tretia možnosť je nupravovať ani tpl ani php, a dopísať tie hodnoty do db pre každú objednávku. Potom by bolo dobré ale upraviť aj vytváranie objednávok, a to som nepozeral kde sa zapisuje. Najjednoduchšia je teda možnosť číslo 2, ale ak si chceš customizovať výpis (niektoré položky hrubou niektoré nie, a pod.) tak prvá


//je to písané z hlavy, tak hádam som sa nikde nesekol :)
funny102
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 292
Registrovaný: 07 jan 2006, 18:08

Re: Opencart - Faktura, poštovne

Príspevok od používateľa funny102 »

vyhovuje mi ta prvá možnosť.
lenže chyba je

Kód: Vybrať všetko

Notice: Undefined index: sub_total, tax, shipping/2, total,
ze niesu definované tie premenne čo som tam zadal.. ako ich definujem?
cez príkaz if(isset)? a ak áno tak ako? niak mi to stale nejde...

//autoeditácia príspevku (29 Sep 2013, 14:28)
Už som si to porobil vary by to malo potom ísť, už len definovať tie premenne..
Potom tie informácie alebo data sú v tabuľke shop_order_total takže nemalo by tam byt náhodou echo $order_total['total']['sub_total']['value']; či

Kód: Vybrať všetko

<tr>
      <td align="right" colspan="9"><b>Súčet bez DPH:</b></td>
      <td align="right"><?php echo $order['total']['sub_total']['value']; ?></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>Poštovné bez DPH</b></td>
      <td align="right"><?php echo $order['total']['shipping']['value']; ?></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>Poštovné s DPH</b></td>
   <td align="right"><?php echo round ($order['total']['shipping']['value'] *1.2, 2); ?></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>DPH 20 %:</b></td>
     <td align="right"><?php echo $order['tax']['value']; ?></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>Celok s DPH:</b></td>
     <td align="right"><?php echo $order['total']['total']['value']; ?></td>
</tr>
//autoeditácia príspevku (29 Sep 2013, 14:29)
vykušal som aj tu druhu možnost tiez tá ista chyba

Kód: Vybrať všetko

Notice: Undefined index: text in /www/sites/2/site19022/public_html/shop/admin/view/template/sale/order_invoice.tpl on line 129
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Opencart - Faktura, poštovne

Príspevok od používateľa audiotrack »

ok, takže je to neasociatívne pole, takže namiesto tých identifikátorov používaj proste čísla, 0 až 4 či koľko ich máš. Ak teda ten druhý spôsob, tak iba dopíš pod tie dva riadky čo som ti napísal ešte toto:

Kód: Vybrať všetko

$total_data['tax2']['value'] = str_format($total_data['tax2']['value'],2) . "€";
funny102
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 292
Registrovaný: 07 jan 2006, 18:08

Re: Opencart - Faktura, poštovne

Príspevok od používateľa funny102 »

audiotrack napísal:ok, takže je to neasociatívne pole, takže namiesto tých identifikátorov používaj proste čísla, 0 až 4 či koľko ich máš. Ak teda ten druhý spôsob, tak iba dopíš pod tie dva riadky čo som ti napísal ešte toto:

Kód: Vybrať všetko

$total_data['tax2']['value'] = str_format($total_data['tax2']['value'],2) . "€";
2. sposob
Dopisal som pod tie dva riadky a error

Kód: Vybrať všetko

Notice: Undefined index: tax in /www/sites/2/site19022/public_html/shop/admin/controller/sale/order.php on line 2060
1. sposob mi vyhodilo dva čisla a dve chyby

Kód: Vybrať všetko

 Notice: Undefined offset: 4 in /www/sites/2/site19022/public_html/shop/admin/view/template/sale/order_invoice.tpl on line 148

Kód: Vybrať všetko

Notice: Undefined offset: 3 in /www/sites/2/site19022/public_html/shop/admin/view/template/sale/order_invoice.tpl on line 144
a to čislo čo som dal 1ku ako celkom bez dph mi vyhodilo 6 eur a celkova faktura má byt niečo cez 260 Eur.

Kód: Vybrať všetko

     <td align="right" colspan="9"><b>Súčet bez DPH:</b></td>
      <td align="right"><?php echo $order['total']['1']['value']; ?></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>Poštovné bez DPH</b></td>
      <td align="right"><?php echo $order['total']['2']['value']; ?></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>Poštovné s DPH</b></td>
   <td align="right"><?php echo round ($order['total']['2']['value'] *1.2, 2); ?></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>DPH 20 %:</b></td>
     <td align="right"><?php echo $order['3']['value']; ?></td>
</tr>
<tr>
      <td align="right" colspan="9"><b>Celok s DPH:</b></td>
     <td align="right"><?php echo $order['total']['4']['value']; ?></td>
Dobre som to zapísal?

//autoeditácia príspevku (30 Sep 2013, 7:24)
trošku som to doladil a ide to
<tr>
<td align="right" colspan="9"><b>Súčet bez DPH:</b></td>
<td align="right"><?php echo $order['total']['0']['value']; ?></td>
</tr>
<tr>
<td align="right" colspan="9"><b>Poštovné bez DPH</b></td>
<td align="right"><?php echo $order['total']['1']['value']; ?></td>
</tr>
<tr>
<td align="right" colspan="9"><b>Poštovné s DPH</b></td>
<td align="right"><?php echo round ($order['total']['1']['value'] *1.2, 2); ?></td>
</tr>
<tr>
<td align="right" colspan="9"><b>DPH 20 %:</b></td>
<td align="right"><?php echo $order['total']['3']['value']*0.2; ?></td>
</tr>
<tr>
<td align="right" colspan="9"><b>Celkom s DPH:</b></td>
<td align="right"><?php echo $order['total']['3']['value']; ?></td>
</tr>
</table>


Dakujem velmi pekne malo by to fungovat, ešte som zistil ze som dph ratal zle tak som tiez doladil a vary to pojde dlhe roky :D
diky
Flash22
Novice
Novice
Príspevky: 1
Registrovaný: 24 feb 2014, 21:30

Re: Opencart - Faktura, poštovne

Príspevok od používateľa Flash22 »

A ako si nakoniec modifikoval order.php? Nemohol by si ho sem postnúť? Dosť by mi to pomohlo.
funny102
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 292
Registrovaný: 07 jan 2006, 18:08

Re: Opencart - Faktura, poštovne

Príspevok od používateľa funny102 »

Flash22 napísal:A ako si nakoniec modifikoval order.php? Nemohol by si ho sem postnúť? Dosť by mi to pomohlo.
nemenil som nakoniec order.php iba to tpl. :)
Napísať odpoveď