Распечатка счета (как квитанции)

Тема в разделе "ABO CMS", создана пользователем Vell61, 28 апр 2010.

Статус темы:
Закрыта.
  1. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Добаваил в файле class.ShopPrototype.php возможность выводить счет на печать, сделал форму счета...
    Код:
    							case 3:
    								$tpl->newBlock('block_bank');
    								$compn_info = $this->getCompanyInfo();
    								$compn_info['schet_ticket_link'] = $baseurl.('&' == substr($baseurl, -1) ? '' : '&')."action=schet_ticket&id=".$order_id;
    								$compn_info['number'] = $order_id;
    								$tpl->assign($compn_info);
    								break;
    Код:
    // Банковский перевод
    			case 'schet_ticket':
    				global $request_id;
    				$main->include_main_blocks($this->module_name.'_schet_ticket.html', 'main');
    				$tpl->prepare();
    				$order = $this->getOrder($request_id);
    				if ($order && ( $_SESSION['siteuser']['is_authorized'] || session_id() == $order['session'] )) {
    					$tpl->newBlock('block_bank');
    					$tpl->assign(array_merge($this->getCompanyInfo(), $order));
    				} else {
    					$tpl->newBlock('block_no_access');
    				}
    				break;
    Но чет не соображу как вывести автоматом в счете инфо как в шоп ордер:
    Код:
    //вывод на экран
    				$info = unserialize($db->f("info"));
    				$tpl->newBlock("block_item");
    				$tpl->assign(array(
    				    'item_id' => $db->f("item_id"),
    					'item_name' => $db->f("item_name"),
    					'item_link' => $item_link,
    					'item_code' => $db->f("item_code"),
    					'item_currency' => $CONFIG['catalog_currencies'][$db->f("item_currency")],
    					'item_price' => $price,
    					'item_rate' => $db->f("item_rate"),
    					'item_qty' => $db->f("item_qty"),
    					'item_info' => $info['dscr'],
    					'item_cost' => $cost,
    					'order_currency' =>	$CONFIG['catalog_currencies'][$order_currency]
    				) );
    Т.е. как привязать эти данные к счету... подкинте идею!
     
  2. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Что ни кто не сталкивался? Мож кто уже решал такую задачьку...

    Я чет не соображу как вывести в счете заполнение позиций товаров заказа как в shop_order блоком block_item (функция show_items) :nezn:
     
  3. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Я как понял надо дописать функцию getCompanyInfo, но там через $CONFIG; т.е. надо сделать запрос к базе... тут ступор =(
     
  4. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Вот шаблон счета (shop_schet_ticket.html) и class.ShopPrototype.php :bc:
     
  5. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    81
    Симпатии:
    21
    ты почти сам все сделал ) оставалось только одну строчку дописать:
    в case 'schet_ticket':
    после $tpl->assign(array_merge($this->getCompanyInfo(), $order));
    добавь
    $this->show_items($transurl, $request_id);
    и дальше уже в шаблоне проправь, если что-то не так выводит
     
    Vell61 нравится это.
  6. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Кулл! :yahoo: Большое спасибо!!!

    Еще подскажи плиз в шаблоне счета "Всего товаров {total} на сумму: {cost_rur} {currency} (<i>{cost_rur_in_words}</i>)" метка {total} должна выводить кол-во товаров в заказе, но чтот не хочет =( как вытянуть?

    Не достаток знаний в пхп... вот уже изучаю потихоньку))
     
  7. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    81
    Симпатии:
    21
    в function show_items
    после if ($db->nf() > 0) {
    добавь $i = $db->nf();
    и перед return TRUE;
    добавь $tpl->assign('block_bank.total',$i);
     
    Vell61 нравится это.
Статус темы:
Закрыта.