Группа: Пользователь Регистрация: 02.07.2012 Город: Los Angeles | Итак мне нужно в админке сделать кнопку "Создать счет" шаблон я взял стандартный email_order_html.tpl Так вот я нашел $mail_content = $this->_CS->fetch(SOURCE . '/shop/email_order_html.tpl');
|
Т.е. он таким образом генерирует счет потом сохраняет в базу по ID (типа LAST_INSERT_ID ) все в одной функции $_SESSION['id_num_order'] = $iid = $this->_DB->Insert_Id(); ..... $this->_DB->Query("UPDATE " . PREFIX . "_shop_bestellungen SET Bestellung = '" . $this->_DB->Escape(base64_encode($mail_content)) . "', Order_Type = '" . $this->_DB->Escape(base64_encode($order_content)) . "' WHERE Id = '" . $iid . "'"); ...
|
Так вот в этом классе мне совершенно не понятно как генерируется $mail_content ?? Как работает fetch(SOURCE... т.е. он берет содержимое шаблона с уже сгенерированными данными, или только скелет а данные генерируются какой либо функцией ? В классе class.AdminShop.php я создал функцию аналог Создания заказа. public function addOrders($insert_array) { //Вызываем номер транзакции $order_num = $this->orderNumber(10); //Подготовливаем данные забираем и массива POST ID клиента foreach ($insert_array as $val) { $client_id = $val['client']; //Идентификатор клиента $article_id = $val['products']; //Идентификатор товара } //Собираем данные по Клиенту $article = $this->getArticlesItems($article_id); foreach ($article as $articles_item){ } //Собираем все данные по клиенту $row->Email; $sql = $this->_DB->Query("SELECT * FROM " . PREFIX . "_benutzer WHERE Id = '$client_id'"); //$user = array(); while ($row = $sql->Result_Fetch_Object()) { array_push($row); //Служебные данные $_SESSION['user_order_date'] = $this->stime; $Ostatus = ($_SESSION['price_netto_zwi'] == '0' && $this->_canorder_emptybasket == 1) ? 'progress' : 'wait'; $order_time = date('d-m-Y, H:i', $this->stime); //Если цена отличается от каталога $total_price = $val['price2']; if ($total_price == '0') { $price = $val['price']; } else { $price = $val['price2']; } //Массив с данными для INSERT $insert_array = array( .... 'Lief_MiddleName' => ''); $this->_DB->Insert_Query('shop_bestellungen', $insert_array); $_SESSION['id_num_order'] = $iid = $this->_DB->Insert_Id(); $inf_array = array( '__NUM__' => $order_num, '__DATE__' => date('d-m-Y', $this->stime), '__ORDER__' => $iid); $inf_payment = Sys::getReplaceText($this->_lang['Payment_Info'], $inf_array); $this->_CS->assign('inf_payment', $inf_payment); $this->_DB->Query("UPDATE " . PREFIX . "_shop_bestellungen SET Bestellung = '" . $this->_DB->Escape(base64_encode($ord_print)) . "' WHERE Id = '".$iid."'"); //Записываем данные в shop_bestellungen_items if (!empty($_POST['client'])) { $insert_array = array( 'Benutzer' => $client_id, 'Vorname' => $row->Vorname, 'Nachname' => $row->Nachname, 'Firma' => $row->Firma, 'Datum' => $this->stime, 'Datum_TS' => date('Y-m-d H:i:s', $this->stime), 'Bestellnummer' => $order_num, 'Artikelnummer' => $articles_item->Artikelnummer, 'ArtikelName' => $articles_item->Titel_1, 'Anzahl' => '0', 'Varianten' => '', 'Konfig_Frei' => ''); $this->_DB->Insert_Query('shop_bestellungen_items', $insert_array); } } $sql->Result_Close(); //Закрываем окно по завершению $this->_getClass('AdminCore')->getScriptOut('close'); }
|
Так вот основной вопрос как заставить генерироваться email_order_html.tpl что бы записывать в колонку Bestellung. |