newjey
Newbie-
Posts
12 -
Joined
-
Last visited
newjey's Achievements
Explorer (1/14)
0
Reputation
-
Валидатором не получится проверить так как страница корзины не формирует адрес.Посмотреть вы можете по ссылке _http://lipoo.com.ua положите товар в корзине в Internet Explorer Вот сюда - http://validator.w3.org/#validate_by_input - вставляете код страницы и проверяете. Спасибо, много раз пользовался валидатором, но это почему-то не заметил. В коде есть вот такая ошибка,которая касается формы: Line 48, Column 66: document type does not allow element "FORM" here <form method="post" action="index.php" id="without_register_form"/> ? The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed). One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error). Не могу разобраться с ней.
-
Валидатором не получится проверить так как страница корзины не формирует адрес.Посмотреть вы можете по ссылке _http://lipoo.com.ua положите товар в корзине в Internet Explorer
-
Только что проверил,если вставляешь запросы в ту же форму, в любое место, то выводится с отступами, а если в не формы то выводится как надо. <form method="post" action="index.php" id="without_register_form"> <?php if($error) echo '<fieldset><legend>Ошибка</legend>'.$error.'</fieldset>'; ?> <fieldset> <legend class="sectiontableheader"><span style="color:#00008B;"><h1><i><b>Оформить заказ.</span></h1></i></b></legend><span style="color:#8B8989;"> Вам не нужно регистрироваться, чтобы совершить покупку в нашем магазине.</span><br /><br /> <span style="color:black;"> Обязательные поля для заполнения отмечены звёздочкой<font color="red" size="3" > *</font></span><br /><br /> <span style="color:#000080;"><label for="name">Контактное лицо<font color="red"> *</font> <br /></label></span> <input id="name" name="checkout[name]" value="<?php if ( $checkout ) echo $checkout['name']; ?>" class="inputbox" /><br /> <span style="color:#000080;"><label for="phone">Телефон<font color="red"> *</font> <br /></label></span> <input id="phone" name="checkout[phone]" value="<?php if ( $checkout ) echo $checkout['phone']; ?>" class="inputbox" /><br /> <span style="color:#000080;"><label for="phone">Адрес<font color="red"> *</font> <br /></label></span> <input id="phone" name="checkout[address]" value="<?php if ( $checkout ) echo $checkout['address']; ?>" class="inputbox" /><br /> <span style="color:#000080;"><label for="email">E-mail <br /></label></span> <input id="email" name="checkout[email]" value="<?php if ( $checkout ) echo $checkout['email']; ?>" class="inputbox" /><br /> <?php $selected = 'selected="selected"'; ?> <span style="color:#000080;"><label for="email">Отправить вам копию? <br /></label></span> <select id="email" name="checkout[customer_copy]" class="inputbox" /> <optgroup> <option value="1" <?php if( $checkout && $checkout['customer_copy'] == 1 ) echo $selected; ?>>Да</option> <option value="0" <?php if( !$checkout || $checkout['customer_copy'] != 1 ) echo $selected; ?>>Нет</option> </optgroup> </select> <br /> <span style="color:#000080;"><label for="comment">Комментарий <br /></label></span> <textarea id="comment" name="checkout[comment]" class="inputbox"><?php if ( $checkout ) echo $checkout['comment']; ?></textarea><br /></div> <label for="oplata">Cпособ доставки:<br /></label> <p><input type="radio" name="checkout[answer]" value="Курьерская доставка по Киеву"><span style="color:#000080;">Курьерская доставка по Киеву</span><br /> <input type="radio" name="checkout[answer]" value="Посылка Новой Почтой"><span style="color:#000080;">Посылка Новой Почтой</span><br /> <input type="radio" name="checkout[answer]" value="Посылка Укр Почта"><span style="color:#000080;">Посылка Укр Почта</span><br /> <input type="radio" name="checkout[answer]" value="Самовывоз в г.Киеве"><span style="color:#000080;">Самовывоз в г.Киеве</span><br /></p> <div id="submit_wrap"> <input type="submit" value="Отправить" class="button" style="width:auto;text-align:center" /> </div> <input type="hidden" name="option" value="com_virtuemart" /> <input type="hidden" name="page" value="checkout.without_register_form" /> </fieldset> </form> Как же правильно вставить: <label for="oplata">Cпособ доставки:<br /></label> <p><input type="radio" name="checkout[answer]" value="Курьерская доставка по Киеву"><span style="color:#000080;">Курьерская доставка по Киеву</span><br /> <input type="radio" name="checkout[answer]" value="Посылка Новой Почтой"><span style="color:#000080;">Посылка Новой Почтой</span><br /> <input type="radio" name="checkout[answer]" value="Посылка Укр Почта"><span style="color:#000080;">Посылка Укр Почта</span><br /> <input type="radio" name="checkout[answer]" value="Самовывоз в г.Киеве"><span style="color:#000080;">Самовывоз в г.Киеве</span><br /></p> Спасибо.
-
Причём такое происходит если данный запрос вставлять в ту же форму, если вставить запрос после тега </form> то всё отображается как надо.
-
И с ним и без него так же само.
-
Всё работает и отправляется. Огромное вам спасибо. Есть маленькая проблемка при просмотре в internet explorer 8 непонятный пробел между кнопкой выбора и текстом. Для наглядности привожу пример кода: <?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); //defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); /** * * @version $Id: checkout_without_register_form.php,v 1.0 2006/10/20 23:31 tug Exp $ * @package VirtueMart * @subpackage html * @copyright Copyright (C) 2004-2005 Soeren Eberhardt. All rights reserved. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php * VirtueMart is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or !!!!!!!! ПОДСТАВИЛ В ПЕРЕМЕННУЮ$vendor_email['from'] ЛЕВОЕ ЗНАЧЕНИЕ И ТОГДА ОТПРАВЛЯЕТСЯ АДМИНУ НА МЫЛО ЕСЛИ НЕ ЮЗЕР НЕ ХОЧЕТ ОТПРАВЛЯТЬСЕБЕ!!!* is * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details. * * http://virtuemart.net */ mm_showMyFileName( __FILE__ ); $checkout = vmGet($_REQUEST, 'checkout', ''); $error = ''; if ( is_array($checkout) && count($checkout) ) { require_once( CLASSPATH.'ps_main.php' ); if( $checkout['name'] == '' || vmValidateName($checkout['name']) == false ) { $error .= '<p>Вы не указали имени контактного лица или указали неверно.</p>'; } preg_replace('/\D/', '', $checkout['phone']); if ( $checkout['phone'] == '' || strlen($checkout['phone']) < 6 ) { $error .= '<p>Вы не указали контактного телефона или указали неверно.</p>'; } if ( $checkout['address'] == '' || strlen($checkout['address']) < 8 ) { $error .= '<p>Вы не указали свой адрес или указали неверно.</p>'; } if ( function_exists('vmValidateEmail') ) { $email_check = vmValidateEmail($checkout['email']); } else { $email_check = mShop_validateEmail($checkout['email']); } if ( ($checkout['customer_copy'] == 1 && !$checkout['email']) || ($checkout['customer_copy'] == 1 && $email_check == false) ) { $error .= '<p>Вы указали, что хотите получить копию заказа на свою электронную почту, но не указали адрес или указали неверно.</p>'; } } if ( !is_array($checkout) || !count($checkout) || !empty($error) ) { ?> <table align="left" border="0" cellpadding="1" cellspacing="1" style="width: 800px; "> <tbody> <tr> <td> <form method="post" action="index.php" id="without_register_form"> <?php if($error) echo '<fieldset><legend>Ошибка</legend>'.$error.'</fieldset>'; ?> <fieldset> <legend class="sectiontableheader"><span style="color:#00008B;"><h1><i><b>Оформить заказ.</span></h1></i></b></legend><span style="color:#8B8989;"> Вам не нужно регистрироваться, чтобы совершить покупку в нашем магазине.</span></td> </tr> <tr> <td> <table align="left" border="0" cellpadding="1" cellspacing="1" style="width: 800px; "> <tbody> <tr> <td align="left"> <span style="color:#00008B;"><label for="oplata">Контактная информация:</span><br /></td> <td align="left"> <span style="color:#00008B;"><label for="oplata">Cпособ доставки:</span><br /></label> </td> </tr> </tbody> </table> </td> </tr> <tr> <td> <table align="left" border="0" cellpadding="1" cellspacing="1" style="width: 800px; "> <tbody> <tr> <td nowrap> <label for="name">Контактное лицо*: <br /></label> <input id="name" name="checkout[name]" value="<?php if ( $checkout ) echo $checkout['name']; ?>" class="inputbox" /><br /> <label for="phone">Телефон*: <br /></label> <input id="phone" name="checkout[phone]" value="<?php if ( $checkout ) echo $checkout['phone']; ?>" class="inputbox" /><br /> <label for="phone">Адрес*: <br /></label> <input id="phone" name="checkout[address]" value="<?php if ( $checkout ) echo $checkout['address']; ?>" class="inputbox" /><br /> <label for="email">E-mail: <br /></label> <input id="email" name="checkout[email]" value="<?php if ( $checkout ) echo $checkout['email']; ?>" class="inputbox" /><br /> <?php $selected = 'selected="selected"'; ?> <label for="email">Отправить вам копию? <br /></label> <select id="email" name="checkout[customer_copy]" class="inputbox" /> <optgroup> <option value="1" <?php if( $checkout && $checkout['customer_copy'] == 1 ) echo $selected; ?>>Да</option> <option value="0" <?php if( !$checkout || $checkout['customer_copy'] != 1 ) echo $selected; ?>>Нет</option> </optgroup> </select> <br /> <label for="comment">Комментарий: <br /></label> <textarea id="comment" name="checkout[comment]" class="inputbox"><?php if ( $checkout ) echo $checkout['comment']; ?></textarea><br /></td> <td> <p><input type="radio" name="checkout[answer]" value="Курьерская доставка по Киеву">Курьерская доставка по Киеву<br /> <input type="radio" name="checkout[answer]" value="Посылка Новой Почтой">Посылка Новой Почтой<br /> <input type="radio" name="checkout[answer]" value="Посылка Укр Почта">Посылка Укр Почта<br /> <input type="radio" name="checkout[answer]" value="Самовывоз в г.Киеве">Самовывоз в г.Киеве<br /> </td> </tr> </tbody> </table> </td> </tr> <tr> <td> <div id="submit_wrap"> <input type="submit" value="Отправить" class="button" style="width:auto;text-align:center" /> </div> <input type="hidden" name="option" value="com_virtuemart" /> <input type="hidden" name="page" value="checkout.without_register_form" /> </fieldset> </form></td> </tr> </tbody> </table> <style> <!-- #without_register_form { font-size: 1em; /* размер шрифта формы */ } #without_register_form fieldset { /*width: 35em; /* рамка вокруг формы */ border: solid 1px #333; /* нормальная граница рамки */ } #without_register_form legend { } #without_register_form label { float: left; /* подписи к полям сдвигаются влево */ width: 15em; /* ширина колонки подписей */ line-height: 1em; margin-right: 0.1em; /* отступ до поля ввода */ text-align: right; } #without_register_form input, #without_register_form select, #without_register_form textarea { margin: 0 0 0.5em 0.2em; width: 20em; /* ширина полей формы */ padding: 0; /* делаем одинаковый шрифт для input, select, textarea */ font-family: Verdana, sans-serif; font-size: 100%; } #without_register_form .noresize { width:auto; /* для кнопок, переключателей */ } #without_register_form .submit { /* сдвигаем кнопку отправки */ /*margin-left:;*/ text-align: right; } #without_register_form #submit_wrap { text-align: center; margin-right:0.2em; } --> </style> <?php } else { global $cart, $sess, $VM_LANG, $CURRENCY_DISPLAY; // Проверяем чтобы был хотябы один товар. if( $cart['idx']!=0 ) vmRedirect('index.php?option=com_virtuemart'); $ps_vendor_id = $_SESSION["ps_vendor_id"]; require_once(CLASSPATH. 'ps_checkout.php' ); $ps_checkout = new ps_checkout; require_once(CLASSPATH. 'ps_product.php' ); $ps_product = new ps_product; require_once(CLASSPATH.'ps_cart.php'); $ps_cart = new ps_cart; $db = new ps_DB; //if (AFFILIATE_ENABLE == '1') { // require_once(CLASSPATH.'ps_affiliate.php'); // $ps_affiliate = new ps_affiliate; //} /* Генерим уникальный номер заказа в системе VM */ $order_number = $ps_checkout->get_order_number(); /* Подсчитываем примерную общую стоимость без учёта налогов и доставки */ $order_subtotal = $tmp_subtotal = $ps_checkout->calc_order_subtotal($d); //$order_taxable = $ps_checkout->calc_order_taxable($d); //$payment_discount = $d['payment_discount'] = $this->get_payment_discount($d['payment_method_id'], $order_subtotal); /* DISCOUNT HANDLING */ if( !empty($_SESSION['coupon_discount']) ) { $coupon_discount = floatval($_SESSION['coupon_discount']); } else { $coupon_discount = 0.00; } // from now on we have $order_tax_details //$d['order_tax'] = $order_tax = round( $this->calc_order_tax($order_taxable, $d), 2 ); // Проверяем чтобы сумма заказа не ушла в минус if( $tmp_subtotal < 0 ) $order_subtotal = $tmp_subtotal = 0; //if( $order_taxable < 0 ) $order_taxable = 0; // from now on we have $order_tax_details //$d['order_tax'] = $order_tax = round( $ps_checkout->calc_order_tax($order_taxable, $d), 2 ); //if( $this->_SHIPPING ) { /* sets _shipping */ // $d['order_shipping'] = $order_shipping = round( $this->calc_order_shipping( $d ), 2 ); /* sets _shipping_tax * btw: This is WEIRD! To get an exactly rounded value we have to convert * the amount to a String and call "round" with the string. */ // $d['order_shipping_tax'] = $order_shipping_tax = round( strval($this->calc_order_shipping_tax($d)), 2 ); //$shipping_taxrate = $this->_SHIPPING->get_tax_rate(); //@$order_tax_details[$shipping_taxrate] += $order_shipping_tax; //} //else { // $d['order_shipping'] = $order_shipping = $order_shipping_tax = $d['order_shipping_tax'] = 0.00; //} $timestamp = time() + ($mosConfig_offset*60*60); // Вычисление итоговой суммы превращается в вычитании из предположительной суммы скидки по купону $d['order_total'] = $order_total = $tmp_subtotal /*+ $order_tax */ /*+ $order_shipping */ /*+ $order_shipping_tax*/ - $coupon_discount /*- $payment_discount*/; //$order_tax *= $discount_factor; //if (!$this->validate_form($d)) { // return false; //} //if (!$this->validate_add($d)) { // return false; //} // Проверяем на отрицательное значение итоговую сумму заказа if( $order_total < 0 ) $order_total = 0; // Округляем итоговую сумму заказа до второго знака после запятой $order_total = round( $order_total, 2); // Пишем в лог отладочную информацию $vmLogger->debug( '-- Checkout Debug-- Subtotal: '.$order_subtotal.' Coupon Discount: '.$coupon_discount.' ———————— Order Total: '.$order_total.' —————————-' ); // Check to see if Payment Class File exists //$payment_class = $ps_payment_method->get_field($d["payment_method_id"], "payment_class"); //$enable_processor = $ps_payment_method->get_field($d["payment_method_id"], "enable_processor"); //if (file_exists(CLASSPATH . "payment/$payment_class.php") ) { // if( !class_exists( $payment_class )) // include( CLASSPATH. "payment/$payment_class.php" ); // eval( "\$_PAYMENT = new $payment_class();" ); // if (!$_PAYMENT->process_payment($order_number,$order_total, $d)) { // $vmLogger->err( $VM_LANG->_PHPSHOP_PAYMENT_ERROR." ($payment_class)" ); // $_SESSION['last_page'] = "checkout.index"; // $_REQUEST["checkout_next_step"] = CHECK_OUT_GET_PAYMENT_METHOD; // return False; // } //} //else { // $d["order_payment_log"] = $VM_LANG->_PHPSHOP_CHECKOUT_MSG_LOG; //} // Если купон был подарочным, то мы его удаляем if( @$_SESSION['coupon_type'] == "gift" ) { $d['coupon_id'] = $_SESSION['coupon_id']; include_once( CLASSPATH.'ps_coupon.php' ); ps_coupon::remove_coupon_code( $d ); } // Получаем IP if (!empty($_SERVER['REMOTE_ADDR'])) { $ip = $_SERVER['REMOTE_ADDR']; } else { $ip = 'unknown'; } /* 1.0.9 `order_id` int(11) NOT NULL auto_increment, `user_id` int(11) NOT NULL default '0', `vendor_id` int(11) NOT NULL default '0', `order_number` varchar(32) default NULL, `user_info_id` varchar(32) default NULL, `order_total` decimal(10,2) NOT NULL default '0.00', `order_subtotal` decimal(10,5) default NULL, `order_tax` decimal(10,2) default NULL, `order_shipping` decimal(10,2) default NULL, `order_shipping_tax` decimal(10,2) default NULL, `coupon_discount` decimal(10,2) NOT NULL default '0.00', `order_discount` decimal(10,2) NOT NULL default '0.00', `order_currency` varchar(16) default NULL, `order_status` char(1) default NULL, `cdate` int(11) default NULL, `mdate` int(11) default NULL, `ship_method_id` varchar(255) default NULL, `customer_note` text NOT NULL, `ip_address` varchar(15) NOT NULL default '', */ /* Добавляем в базу основную информацию о заказе */ $q = "INSERT INTO #__{vm}_orders "; $q .= "(user_id, vendor_id, order_number, user_info_id, ship_method_id, order_total, order_subtotal, order_tax, order_shipping, order_shipping_tax, order_discount, coupon_discount, order_currency, order_status, cdate, mdate, customer_note, ip_address) "; $q .= "VALUES ( 0, ".$ps_vendor_id.", '".$order_number."', '".$d["ship_to_info_id"]."', '', '".$order_total."', '".$order_subtotal."', '".$order_tax."', '".$order_shipping."', '".$order_shipping_tax."', '".$payment_discount."', '".$coupon_discount."', '".$_SESSION['vendor_currency']."', 'P', '".$timestamp."', '".$timestamp."', '".addslashes(htmlspecialchars(strip_tags($checkout['comment'])))."', '".$ip."');"; $db->query($q); $db->next_record(); /* Берем порядковый номер только что добавленного заказа */ $q = "SELECT order_id FROM #__{vm}_orders WHERE order_number = "; $q .= "'" . $order_number . "'"; $db->query($q); $db->next_record(); $d["order_id"] = $order_id = $db->f("order_id"); /** * Создаём историю заказа. */ $mysqlDatetime = date("Y-m-d G:i:s", $timestamp); $q = "INSERT INTO #__{vm}_order_history "; $q .= "(order_id,order_status_code,date_added,customer_notified,comments) VALUES ("; $q .= "'$order_id', 'P', '" . $mysqlDatetime . "', 1, '')"; $db->query($q); /** * Insert the Order payment info */ //$payment_number = ereg_replace(" |-", "", @$_SESSION['ccdata']['order_payment_number']); //$d["order_payment_code"] = @$_SESSION['ccdata']['credit_card_code']; // Payment number is encrypted using mySQL ENCODE function. //$q = "INSERT INTO #__{vm}_order_payment "; //$q .= "(order_id, order_payment_code, payment_method_id, order_payment_number, "; //$q .= "order_payment_expire, order_payment_log, order_payment_name, order_payment_trans_id) "; //$q .= "VALUES ('$order_id', "; //$q .= "'" . $d["order_payment_code"] . "', "; //$q .= "'" . $d["payment_method_id"] . "', "; //$q .= "ENCODE(\"$payment_number\",\"" . ENCODE_KEY . "\"), "; //$q .= "'" . @$_SESSION["ccdata"]["order_payment_expire"] . "',"; //$q .= "'" . @$d["order_payment_log"] . "',"; //$q .= "'" . @$_SESSION["ccdata"]["order_payment_name"] . "',"; //$q .= "'" . $vmInputFilter->safeSQL( @$d["order_payment_trans_id"] ). "'"; //$q .= ")"; //$db->query($q); //$db->next_record(); /** * Вставляем информацию о адресах пользователя и покупателя. Т.к. у нас их нет, то пишем что-нить * Вообще это очень важная хуйня, т.к. без неё заказы не отображаются в админке */ // Bill To Address $q = "INSERT INTO `#__{vm}_order_user_info` (order_info_id, order_id, user_id, address_type, address_type_name, company, title, last_name, first_name, middle_name, phone_1, phone_2, fax, address_1, address_2, city, state, country, zip, user_email, extra_field_1, extra_field_2, extra_field_3, extra_field_4, extra_field_5, bank_account_nr, bank_name, bank_sort_code, bank_iban, bank_account_holder, bank_account_type) "; $q .= "VALUES ('', '".$order_id."', 0, 'BT', '-default-', '', '', '', '".$checkout['name']."', '', '".$checkout['phone']."', '', '', '".$checkout['address']."', '', '', '', '', '', '".$checkout['email']."', '', '', '', '', '', '', '', '', '', '', '') "; $db->query( $q ); // Ship to Address if applicable //$q = "INSERT INTO `#__{vm}_order_user_info` "; //$q .= "SELECT '', '$order_id', '".$auth['user_id']."', address_type, address_type_name, company, title, last_name, first_name, middle_name, phone_1, phone_2, fax, address_1, address_2, city, state, country, zip, user_email, extra_field_1, extra_field_2, extra_field_3, extra_field_4, extra_field_5,bank_account_nr,bank_name,bank_sort_code,bank_iban,bank_account_holder,bank_account_type FROM #__{vm}_user_info WHERE user_id='".$auth['user_id']."' AND user_info_id='".$d['ship_to_info_id']."' AND address_type='ST'"; //$db->query( $q ); /** * Insert all Products from the Cart into order line items; * one row per product in the cart */ $dboi = new ps_DB; // Берем данные о продавце $q = "SELECT * FROM #__{vm}_vendor WHERE vendor_id = '".$_SESSION['ps_vendor_id']."'"; $db->query($q); $db->next_record(); $vendor_email['subject'] = $db->f("vendor_name").'. Новый заказ от незарегестрированного пользователя '.$checkout['name'].' ['.$order_id.']'; $shopper_email['subject'] = 'Ваш заказ на сайте «'.$mosConfig_live_site.'» ['.$order_id.']'; $vendor_email['to'] = $shopper_email['from'] = $db->f("contact_email"); if( $checkout['email'] ){ $shopper_email['to'] = $vendor_email['from'] = $checkout['email']; } else { $vendor_email['from'] ='впишите мыло магазина'; } // Берем данные о покупателе $vendor_email['message'] .= "Номер заказа: ".$order_id."\n"; $vendor_email['message'] .= "Данные о покупателе\n"; $vendor_email['message'] .= "————————————————--\n"; $vendor_email['message'] .= "Имя: ".$checkout['name']."\n"; $vendor_email['message'] .= "Телефон: ".$checkout['phone']."\n"; $vendor_email['message'] .= "Адрес: ".$checkout['address']."\n"; $vendor_email['message'] .= "Способ доставки: ".$checkout['answer']."\n"; if( $checkout['email'] ) $vendor_email['message'] .= "Электронная почта: ".$checkout['email']."\n"; if( $checkout['comment'] ) $vendor_email['message'] .= "Комментарий к заказу: ".$checkout['comment']."\n"; $vendor_email['message'] .= "————————————————--\n\n"; $shopper_email['message'] = "Уважаемый покупатель, пожалуйста проверьте информацию ниже и в случае ошибки свяжитесь с продавцом, указав уникальный номер заказа - [".$order_id."]\n\n"; $shopper_email['message'] .= "Данные о продавце\n"; $shopper_email['message'] .= "————————————————--\n"; if($db->f("contact_phone1")) $shopper_email['message'] .= "Телефон 1: ".$db->f("contact_phone1")."\n"; if($db->f("contact_phone2")) $shopper_email['message'] .= "Телефон 2: ".$db->f("contact_phone2")."\n"; if($db->f("contact_fax")) $shopper_email['message'] .= "Факс: ".$db->f("contact_fax")."\n"; $shopper_email['message'] .= "Электронная почта: ".$db->f("contact_email")."\n"; $shopper_email['message'] .= "Сайт: ".$db->f("vendor_url")."\n"; $shopper_email['message'] .= "————————————————--\n\n"; $message = "Данные о товарах\n"; $message .= "————————————————--"; for($i = 0; $i < $cart["idx"]; $i++) { $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'); $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"); $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 = "; } $message .= $dboi->f("product_name")."; ".$description."\n"; $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"; $vendor_email['message'] .= $message; $shopper_email['message'] .= $message; // Отправка писем vmMail($vendor_email['from'], $mosConfig_fromname, $vendor_email['to'], $vendor_email['subject'], $vendor_email['message'], false); echo "<p>".nl2br($shopper_email['message'])."</p>"; if( $checkout['customer_copy'] == 1 ) { vmMail($shopper_email['from'], $mosConfig_fromname, $shopper_email['to'], $shopper_email['subject'], $shopper_email['message'], false); echo "Копия этого сообщения отправлена на адрес ".$shopper_email['to']; } else { echo "Сохраните это сообщение, так как Вам не было отправлено уведомление."; } $ps_cart->reset(); unset($checkout); // Подчищаем всякую хуйню $d["payment_method_id"] = ""; $d["order_payment_number"] = ""; $d["order_payment_expire"] = ""; $d["order_payment_name"] = ""; $d["credit_card_code"] = ""; // Clear the sensitive Session data $_SESSION['ccdata']['order_payment_name'] = ""; $_SESSION['ccdata']['order_payment_number'] = ""; $_SESSION['ccdata']['order_payment_expire_month'] = ""; $_SESSION['ccdata']['order_payment_expire_year'] = ""; $_SESSION['ccdata']['credit_card_code'] = ""; $_SESSION['coupon_discount'] = ""; $_SESSION['coupon_id'] = ""; $_SESSION['coupon_redeemed'] = false; $_POST["payment_method_id"] = ""; $_POST["order_payment_number"] = ""; $_POST["order_payment_expire"] = ""; $_POST["order_payment_name"] = ""; } ?> Вроде всё правильно, но мало ли.
-
Подскажите как изменить стандартные поля ввода информации такие как: на примерно вот такое: или вот такое Спасибо.
-
Спасибо, вы правы, так заработало. А не подскажите как организовать что б было допустим если ода доставка то к сумме + допустим 20 грн. если другая то к сумме 25 грн и в таком плане, как бы что б человек видел итоговую сумму с доставкой. Спасибо.
-
Ничего не изменилось( так же само выводится пустое поле. Вот как данная форма выглядит:
-
Перенос происходит так <input id="name" name="checkout[name]" value="<?php if ( $checkout ) echo $checkout['name']; ?>" class="inputbox" /> Вышеприведённый вами способ $vendor_email['message'] .= "Имя: ".$checkout['name']."\n"; $vendor_email['message'] .= "Способ доставки: ".$checkout['answer']."\n"; не отрабатывается, в письме приходит только Способ доставки: и всё. Для полной ясности привожу пример всего кода целиком:
-
Перенос происходит так <input id="name" name="checkout[name]" value="<?php if ( $checkout ) echo $checkout['name']; ?>" class="inputbox" />
-
Добрый день. Подскажите, делаю выборку способов доставки в корзине магазина таким образом: <label for="oplata">Cпособ доставки:<br /></label> <form> <p><input type="radio" name="answer" value="a1">Курьерская доставка по Киеву<Br> <input type="radio" name="answer" value="a2">Посылка Новой Почтой<Br> <input type="radio" name="answer" value="a3">Посылка Укр Почта<Br> <input type="radio" name="answer" value="a4">Самовывоз в г.Киеве</p> </form> Подскажите как мне организовать отправку данных при выборе того или иного варианта доставки? Если к примеру вывод заполненного поля имени прописано как: $vendor_email['message'] .= "Имя: ".$checkout['name']."\n"; Спасибо.