Vlastne polia vo FA
Vlastne polia vo FA
Ahojte.. vie mi tu niekto poradit.. ako dam vlastne polia do faktury.. vytvoril som si v OC 2.x IČO, DIČ, IČ DPH ale na fakturu to nehadze.. hladal som rozne ale nikde som nenasiel odpoved alebo aspon nieco co funguje. dakujem
-
- Príspevky: 117
- Dátum registrácie: 30. Jan 2017 12:03
- Verzia OpenCartu: 2.3.0.2
- Kontaktovať používateľa:
Re: Vlastne polia vo FA
Skús tému viewtopic.php?f=9&t=3000, možno Ťa to posunie trocha dopredu.
-
- Príspevky: 117
- Dátum registrácie: 30. Jan 2017 12:03
- Verzia OpenCartu: 2.3.0.2
- Kontaktovať používateľa:
Re: Vlastne polia vo FA
admin/controller/sale/order.php niekde okolo ridku 2200 koniec metódy invoice()
vlož vetvu a uprav $data['orders'][], vlož posledný prvok 'custom_field' => $custom_field
admin/view/template/sale/order_invoice.tpl
cez $order['custom_field'][index] pristupuješ k hodnotám vlastných polí. Čísla nemusia sedieť ale var dumpni $order['custom_field'] a uvidíš sám
Funguje na objednávkach vykonaných po úprave kódu.
vlož vetvu a uprav $data['orders'][], vlož posledný prvok 'custom_field' => $custom_field
Kód: Vybrať všetko
if ($order_info['custom_field']) {
$custom_field = $order_info['custom_field'];
} else {
$custom_field = array();
}
$data['orders'][] = array(
'order_id' => $order_id,
'invoice_no' => $invoice_no,
'date_added' => date($this->language->get('date_format_short'), strtotime($order_info['date_added'])),
'store_name' => $order_info['store_name'],
'store_url' => rtrim($order_info['store_url'], '/'),
'store_address' => nl2br($store_address),
'store_email' => $store_email,
'store_telephone' => $store_telephone,
'store_fax' => $store_fax,
'email' => $order_info['email'],
'telephone' => $order_info['telephone'],
'shipping_address' => $shipping_address,
'shipping_method' => $order_info['shipping_method'],
'payment_address' => $payment_address,
'payment_method' => $order_info['payment_method'],
'product' => $product_data,
'voucher' => $voucher_data,
'total' => $total_data,
'comment' => nl2br($order_info['comment']),
'custom_field' => $custom_field
);
cez $order['custom_field'][index] pristupuješ k hodnotám vlastných polí. Čísla nemusia sedieť ale var dumpni $order['custom_field'] a uvidíš sám
Kód: Vybrať všetko
<tr>
<td colspan="2">IČO: <?php echo $order['custom_field'][1]; ?></td>
</tr>
<tr>
<td colspan="2">DIČ: <?php echo $order['custom_field'][2]; ?></td>
</tr>
-
- Príspevky: 117
- Dátum registrácie: 30. Jan 2017 12:03
- Verzia OpenCartu: 2.3.0.2
- Kontaktovať používateľa:
Re: Vlastne polia vo FA
Pardon že opäť spamujem, ale až po opätovnom prečítaní zisťujem že potrebuješ vložiť vlastné polia. Predcházajúci kód platí pre polia zákazníkov, tak to tu nechám ak by niekto potreboval. Pre Tvoje potreby už vytvoril šablónu funny102 na adrese viewtopic.php?f=13&t=2358&p=5339&hilit=faktura#p5339.
Re: Vlastne polia vo FA
Dakujem velmi pekne.. ale FA si viem editovat davno.. myslel som vlastne polia ktore sa nachadazuju pod zakaznik > vlastne polia. tam som si vytvoril IČO, DIČ, IČ DPH, su to polia, ktore vyplna zakaznik... to bude asi ten kod vyssieMartin80 napísal:Pardon že opäť spamujem, ale až po opätovnom prečítaní zisťujem že potrebuješ vložiť vlastné polia. Predcházajúci kód platí pre polia zákazníkov, tak to tu nechám ak by niekto potreboval. Pre Tvoje potreby už vytvoril šablónu funny102 na adrese viewtopic.php?f=13&t=2358&p=5339&hilit=faktura#p5339.
![Veľmi šťastný :D](./images/smilies/icon_e_biggrin.gif)
EDIT: ten prvy kod mi ale nefunguje... pise mi: Notice: Undefined index: custom_field
-
- Príspevky: 117
- Dátum registrácie: 30. Jan 2017 12:03
- Verzia OpenCartu: 2.3.0.2
- Kontaktovať používateľa:
Re: Vlastne polia vo FA
Ja som skúšal v defaultnej šablóne. Možno, skús si vypísať $order, či obsahuje tú premennú. A napadá ma akurát, že to musí byť v cykle foreach ktorý začína okolo riadku 14. Ja som poslal len jeden kód pre dva súbory. Treba upraviť aj template aj model. V controlery custom_field zadefinuješ a priradíš, v template (na faktúre) ho vypíšeš. Či i tak nejde?
Edit: Alebo ak ti hádže chybu controler, tak pozri či tam nie je iný názov pre vlastné polia. Ja som skúšal na 2.0.1.1. Alebo napíš pre akú verziu, pozriem na to ešte raz.
Edit: Alebo ak ti hádže chybu controler, tak pozri či tam nie je iný názov pre vlastné polia. Ja som skúšal na 2.0.1.1. Alebo napíš pre akú verziu, pozriem na to ešte raz.
Naposledy upravil/-a Martin80 v 11. Máj 2017 22:03, upravené celkom 2 krát.
Re: Vlastne polia vo FA
ja mam tiez zakladnu sablonu... ide o verziu 2.1.0.2. ... ak sa chces povrtat.. viem ti dat aj pristup do testujuceho eshopuMartin80 napísal:Ja som skúšal v defaultnej šablóne. Možno, skús si vypísať $order, či obsahuje tú premennú. A napadá ma akurát, že to musí byť v cykle foreach ktorý začína okolo riadku 14. Ja som poslal len jeden kód pre dva súbory. Treba upraviť aj template aj model. V modely custom_field zadefinuješ a priradíš, v template (na faktúre) ho vypíšeš. Či i tak nejde?
Edit: Alebo ak ti hádže chybu model, tak pozri či tam nie je iný názov pre vlastné polia. Ja som skúšal na 2.0.1.1. Alebo napíš pre akú verziu, pozriem na to ešte raz.
-
- Príspevky: 117
- Dátum registrácie: 30. Jan 2017 12:03
- Verzia OpenCartu: 2.3.0.2
- Kontaktovať používateľa:
Re: Vlastne polia vo FA
Ak je to testovací, skús tento balíček. Je z čerstvej inštalácie pre 2.1.0.2 a práve som tam skopíroval to, čo som napísal vyššie. A funguje na prvú šupu. Ak by i tak nešlo, možno by som na to zo zvedavosti pozrel.
Edit: Balíček platí pre vlastné polia s umiestnením v účte.
Pre umiestnenie do adresy je to o niečo jednoduchšie admin/controller/sale/order
niekde okolo riadku 1600 v metóde invoice()
Poznámka: kód slúži len ako názorná ukážka na zodpovedanie dotazu a neprešiel žiadnymi testami.
Edit: Balíček platí pre vlastné polia s umiestnením v účte.
Pre umiestnenie do adresy je to o niečo jednoduchšie admin/controller/sale/order
niekde okolo riadku 1600 v metóde invoice()
Kód: Vybrať všetko
$inject = strpos($format, '{address_1}');
$format = substr ( $format , 0 , $inject ) . '{ico}' . "\n" . '{dic}' . "\n" . substr ( $format , $inject );
$find = array(
'{firstname}',
'{lastname}',
'{company}',
'{ico}',
'{dic}',
'{address_1}',
'{address_2}',
'{city}',
'{postcode}',
'{zone}',
'{zone_code}',
'{country}'
);
$replace = array(
'firstname' => $order_info['shipping_firstname'],
'lastname' => $order_info['shipping_lastname'],
'company' => $order_info['shipping_company'],
'ico' => 'IČO: ' . $order_info['payment_custom_field'][1],
'dic' => $order_info['payment_custom_field'][2],
'address_1' => $order_info['shipping_address_1'],
'address_2' => $order_info['shipping_address_2'],
'city' => $order_info['shipping_city'],
'postcode' => $order_info['shipping_postcode'],
'zone' => $order_info['shipping_zone'],
'zone_code' => $order_info['shipping_zone_code'],
'country' => $order_info['shipping_country']
);
Poznámka: kód slúži len ako názorná ukážka na zodpovedanie dotazu a neprešiel žiadnymi testami.
- Prílohy
-
- upload.zip
- (10.78 KiB) 124 stiahnutí