Помощник
|
Не отображает заказ Joomla 1.5.7+VM 1.1.3 |
kocmocivan_mw
|
Сообщение
#1
|
||
|
|
||
|
|||
kocmocivan_mw
|
Сообщение
#2
|
|
Только что заметил, что заказ не показывается только если покупка осуществленна без регистрации...
Если регистрация идет то заказ отображается нормально... Я как раз в свое время добавил возможность заказа без регистрации... теперь об это жалею... |
|
|
ZiTosS |
9.1.2010, 15:03;
Ответить: ZiTosS
Сообщение
#3
|
|
kocmocivan, скорее всего скрипт написан так, что заказ приписывается к зарегистрированному юзеру, а если вы разрешили заказывать без регистрации, приписывать заказ не к кому. Всё таки с такими вопросами по VM надо писать на специализированных форумах. Конечно есть вероятность, что кто-то уже разбирался с этой проблемой, но я честно, ничем помочь не смогу, это надо копаться в Virtue Mart, а времени нет. Было бы больше времени, помог бы обязательно.
|
|
|
kocmocivan_mw
|
Сообщение
#4
|
|
ZiTosS да в том то и дело, что на "специализировнных форумах" те кто действительно разбираются просто молчат или не залезают в подобные темы (неоднократно проверял), причем как на рускоязысных так и на родных...
Тут может и возможности нет помоч, но покрайней мере есть желание. Что касается моей траблы. Есть 4 скрипта отвечающих за такую работу заказов... [img]http://www.joomlaport.ru/rass/8/9.gif[/img] - Это пример использования данных скриптов на "живом" примере... А у меня почему то не работают... иотображаются ТОЛЬКО цены... Собствено скрипты взял из ээтой темы.. мжет кому игодится или у кого заработае... http://www.joomlaport.ru/rass/rass8.php |
|
|
ZiTosS |
9.1.2010, 20:50;
Ответить: ZiTosS
Сообщение
#5
|
|
kocmocivan, А на почту приходит в виде, ваш бы показали, а то так на словах разное можно понять.
Товар: Количество: Артикул: Цена: [цена] или просто Цена: [цена]
|
|
|
kocmocivan_mw
|
Сообщение
#6
|
|
Да втом то и дел ч на почту приходит все тоже самое (предположим заказ такой же), только без перечислений наименваний т.е. нет никаких товаров в этой таблице просто ПУСтО), а ниже идет Итоговая цена как тут...
Т.е. просто не пишется нчего в "гафе" Данные о товарах... т.е. ни понять ни сколько их ни собственно чего именно человек заказал НЕЛЬЗЯ... только конечную цену... А если делать с регистрацией то все работает... НИФиГА не понимаю... |
|
|
kocmocivan_mw
|
Сообщение
#7
|
|
Решение было не в неработающем скрипте или админке , а в правах на файлы и на папку.... Данная функция - ЗАКАЗ без регистрации, осуществляется создание документа в папке (а не в БД , как если бы он был с регистрацией)...А до жтого не было прав на папку на запись... поэтому значение - сумма только вписывалась...
|
|
|
ZiTosS |
10.1.2010, 16:32;
Ответить: ZiTosS
Сообщение
#8
|
|
kocmocivan, посмотрел те 4 файла, что в архиве. Вам нужно разобрать файл checkout.without_register_form.php
Разбираться нужно со строк [php] $message = "Данные о товарах\n"; $message .= "--------------------------------------------------"; for($i = 0; $i < $cart["idx"]; $i++) {[/php] Далее идут запросы к БД, я попробую расписать каждую строку если смогу. [php] $message = "Данные о товарах\n"; // в переменную $message добавляем строку "Данные о товарах" $message .= "--------------------------------------------------"; // добавляем строку-разделитель /* обходим весь список товаров указанных в карте в цикле */ // НАЧАЛО ЦИКЛА for($i = 0; $i < $cart["idx"]; $i++) { /* составляем запрос на получение данных о товаре по его id */ $r = "SELECT product_id,product_in_stock,product_sales,product_parent_id,product_sku,product_ name "; $r .= "FROM #__{vm}_product WHERE product_id='".$cart[$i]["product_id"]."'"; $dboi->query($r); // выполняем вышеуказанный запрос $dboi->next_record(); // переходим к следующей записи(то есть у нас она всего одна) Данная запись будет использоваться ниже. $product_price_arr = $ps_product->get_adjusted_attribute_price($cart[$i]["product_id"], $cart[$i]["description"]); // получаем установленные параметры цены (массив) $product_price = $product_price_arr["product_price"]; // получаем цену товара из массива цен (что за цены такие в множественном числе я не знаю) /* НАЧАЛО КОММЕНТИРОВАНИЯ */ //if( empty( $_SESSION['product_sess'][$cart[$i]["product_id"]]['tax_rate'] )) { // $my_taxrate = $ps_product->get_product_taxrate($cart[$i]["product_id"] ); //} //else { // $my_taxrate = $_SESSION['product_sess'][$cart[$i]["product_id"]]['tax_rate']; //} /* КОНЕЦ КОММЕНТИРОВАНИЯ */ // Attribute handling (Обработчик аттрибутов) // а вот и использование той записи из БД $product_parent_id = $dboi->f('product_parent_id'); // получаем id родительского продукта (0 - нет родителя) $description = ''; // инициализирует переменную описания пустой строкой if( $product_parent_id > 0 ) { //если есть родителский продукт $db_atts = $ps_product->attribute_sql( $dboi->f('product_id'), $product_parent_id ); // запрос к таблице атрибутов (как я понял) while( $db_atts->next_record()) { // обход атрибутов для формирования описания $description .= $db_atts->f('attribute_name').': '.$db_atts->f('attribute_value').'; '; // составляем описание из выбранного и родительского (учитываем всё описание) } } $description .= $_SESSION['cart'][$i]["description"]; // прикрепляем к описанию, описание из карты $product_final_price = round( ($product_price *($my_taxrate+1)), 2 ); // определяем финальную цену продукта $vendor_id = $db->f("vendor_id"); // получаем id поставщика $product_currency = $product_price_arr["product_currency"]; // получаем валюту, в которой у нас находится цена товара /* формирование запроса вставки элемента заказа в таблицу заказов */ $q = "INSERT INTO #__{vm}_order_item "; $q .= "(order_id, user_info_id, vendor_id, product_id, order_item_sku, order_item_name, "; $q .= "product_quantity, product_item_price, product_final_price, "; $q .= "order_item_currency, order_status, product_attribute, cdate, mdate) "; $q .= "VALUES ('"; $q .= $order_id . "', '"; $q .= $d["ship_to_info_id"] . "', '"; $q .= $vendor_id . "', '"; $q .= $cart[$i]["product_id"] . "', '"; $q .= addslashes($dboi->f("product_sku")) . "', '"; $q .= addslashes($dboi->f("product_name")) . "', '"; $q .= $cart[$i]["quantity"] . "', '"; $q .= $product_price . "', '"; $q .= $product_final_price . "', '"; $q .= $product_currency . "', "; $q .= "'P','"; // added for advanced attribute storage $q .= addslashes( $description ) . "', '"; // END advanced attribute modifications $q .= $timestamp . "','"; $q .= $timestamp . "'"; $q .= ")"; $db->query($q); $db->next_record(); // посл добавления элемента заказа он же и используется для вывода в письме данных о товаре // Берем данные о товаре $message .= "\n"; $message .= $VM_LANG->_PHPSHOP_PRODUCT.": "; // добавуляем " Товар:" (в зависимости от языка может меняться) if ($db->f("product_parent_id")) { // если существует родительский товар (я не могу сказать что это, т.к. в записи заказа нет данного поля) $message .= $dboi->f("order_item_name")."\n"; // добавуляем имя элемента заказа (имя заказанного товара) $message .= "SERVICE = "; // добавуляем строку "SERVICE = " } $message .= $dboi->f("product_name")."; ".$description."\n"; // добавляем имя товара (используется запись, созданная вначале цикла for) $message .= $VM_LANG->_PHPSHOP_ORDER_PRINT_QUANTITY.": "; // добавляем "Количество:" (в зависимости от языка может меняться) $message .= $cart[$i]['quantity']."\n"; // добавляем уколичество заказанного товара $message .= $VM_LANG->_PHPSHOP_ORDER_PRINT_SKU.": "; // добавляем "Артикул:" (в зависимости от языка может меняться) $message .= $dboi->f("product_sku")."\n"; // добавляем артикул $message .= $VM_LANG->_PHPSHOP_ORDER_PRINT_PRICE.": "; // добавляем "Цена:" (в зависимости от языка может меняться) $message .= $product_final_price; // добавляем финальную цену товара $message .= "\n"; /* Update Stock Level and Product Sales (обновление (уменьшение) количества на складе и (увеличение) количества продаж) */ if ($dboi->f("product_in_stock")) { $q = "UPDATE #__{vm}_product "; $q .= "SET product_in_stock = product_in_stock - ".$cart[$i]["quantity"]; $q .= " WHERE product_id = '" . $cart[$i]["product_id"]. "'"; $db->query($q); $db->next_record(); } $q = "UPDATE #__{vm}_product "; $q .= "SET product_sales = product_sales + ".$cart[$i]["quantity"]; $q .= " WHERE product_id = '".$cart[$i]["product_id"]."'"; $db->query($q); $db->next_record(); } // КОНЕЦ ЦИКЛА /* НАЧАЛО КОММЕНТИРОВАНИЯ */ // DOWNLOAD MOD SKIPPED BECAUSE IT IS NOT REAL TO TRADE FILES WITHOUT PAYMENT //if (AFFILIATE_ENABLE == '1') { // $ps_affiliate->register_sale($order_id); //} /* КОНЕЦ КОММЕНТИРОВАНИЯ */ // Export the order_id so the checkout complete page can get it (нигде не используется, всё закомментировано) $d["order_id"] = $order_id; /* НАЧАЛО КОММЕНТИРОВАНИЯ */ // Now as everything else has been done, we can update // the Order Status if the Payment Method is // "Use Payment Processor", because: // Payment Processors return false on any error // Only completed payments return true! //if( $enable_processor == "Y" ) { // eval( "if( defined(\"".$_PAYMENT->payment_code."_VERIFIED_STATUS\")) { // \$d['order_status'] = ".$_PAYMENT->payment_code."_VERIFIED_STATUS; // \$update_order = true; // } // else // \$update_order = false;" ); // if ( $update_order ) { // require_once(CLASSPATH."ps_order.php"); // $ps_order =& new ps_order(); // $ps_order->order_status_update($d); // } //} /* КОНЕЦ КОММЕНТИРОВАНИЯ */ $message .= "--------------------------------------------------\n"; // добавляем строку-разделитель $message .= "Итого: ".$CURRENCY_DISPLAY->getFullValue($order_total)."\n"; // добавляем общую цену $message .= "--------------------------------------------------\n"; // добавляем строку-разделитель[/php] Сразу могу сказать, у вас может быть проблема с формированием карты товара. Проверить можно так: вставить перед строкой [php] for($i = 0; $i < $cart["idx"]; $i++) {[/php] Строку вывода количества товаров в карте: [php] $message .= "Количество заказов: {$cart["idx"]}";[/php] И попробовать заказать, посмотреть что выведется в письме, какое значение имеет переменная $cart['idx'], по моим предположениям это нуль Добавлено: Ну ничего, я вам расписал этот кусок обработки данных заказа. Может будет интересно. Я так понимаю используется БД SQLite. Она на файлах, вот и проблема. |
|
|
kocmocivan_mw
|
Сообщение
#9
|
|
Даааа примерно это же изучал ночью...
Но расписыннае комменты - ЭТО СУПЕР! - отпало множество вопросов... Но слава богу на данный момент все работает... ! |
|
|
ZiTosS |
11.1.2010, 2:03;
Ответить: ZiTosS
Сообщение
#10
|
|
|
kocmocivan, вообщем тему закрываю, вопрос решён. Удачи в познании Joomla и VirtueMart
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Скрипты и программы на заказ любой сложности. Без предоплаты. Быстро, качественно и недорого! | 5 | c4p1t4l15t | 2530 | 6.4.2024, 12:51 автор: c4p1t4l15t |
|
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ. Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п |
7 | stu999 | 1756 | 31.3.2024, 11:19 автор: stu999 |
|
Edu-Money - партнерка под студентческий траф: 55% за новый заказ, 20% ребилл (сразу). | 180 | EduMoney | 73528 | 28.12.2023, 17:51 автор: EduMoney |
|
Разработка сайтов Joomla Wordpress Opencart Разработка, верстка, оптимизация веб сайтов. |
77 | WoWeb | 40439 | 3.9.2023, 16:52 автор: Sawich |
|
[Продам] базы сайтов на CMS Wordpress/Joomla/Drupal/Magento/... | 14 | phosphoruss | 13766 | 16.8.2023, 15:27 автор: SmmPanelUS |
Текстовая версия | Сейчас: 24.4.2024, 0:02 |