Как изменить форму оформления заказа?

Как изменить форму при оформлении заказа?

 
Sometime CMS Community
Посетитель
no avatar
Сообщений: 2
Прошу прощения, та же проблема. При оформлении заказа нужен E-mail заказчика. На стандартной странице его нет. Создал форму для E-mail-a при помощи Конструктора форм, но как ее вставить в страницу оформления заказа. Она не редактируется и не наполняется контентом (в Примечани к форме написано, что это можно сделать если вставить выражение {ФОРМА=Название формы}.
И второе! Скажите пожалуйста можно ли подключить к скрипту автоматические сервисы оплат, например WebMoney.
Посетитель
small user social cms
Медаль
Сообщений: 342
Вот привожу свой код, думаю разберешься.

www\components\catalog\includes\shopcore.php

<?php
/*********************************************************************************************/
// //
// InstantCMS v1.0 (c) 2008 COMMERCIAL VERSION //
// Source code protected by copyright laws //
// //
// http://instantcms.ru/, [email protected] //
// //
// written by Vladimir E. Obukhov, 2007-2009 //
// //
/*********************************************************************************************/
if(!defined(’VALID_CMS’)) { die(’ACCESS DENIED’); }

////////////////////////////////////////////////////////////////////////////////////////////////
function shopAddToCart($item_id, $itemscount=1){
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();

shopCheckCarts();

if (!shopIsInCart($item_id)){
$sql = "INSERT INTO cms_uc_cart (id, user_id, session_id, item_id, pubdate, itemscount)
VALUES (’’, ’$user_id’, ’$sid’, ’$item_id’, NOW(), ’$itemscount’)";
} else {
$sql = "UPDATE cms_uc_cart SET itemscount = itemscount + 1 WHERE item_id = ".$item_id." AND (user_id=$user_id OR (user_id=0 AND session_id=’$sid’))";
}

$rs = mysql_query($sql) or die(mysql_error());

return true;
}

function shopClearCart(){
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();
$sql = "DELETE FROM cms_uc_cart WHERE (user_id=$user_id OR (user_id=0 AND session_id=’$sid’))";
$rs = mysql_query($sql) or die(mysql_error());
return true;
}

function shopRemoveFromCart($item_id=0){
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();
$sql = "DELETE FROM cms_uc_cart WHERE item_id = $item_id AND (user_id=$user_id OR (user_id=0 AND session_id=’$sid’))";
$rs = mysql_query($sql) or die(mysql_error());
return true;
}

function shopIsInCart($item_id=0){
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();

if ($user_id){ $user_sql = "(user_id=$user_id OR session_id=’$sid’)"; } else { $user_sql = "(user_id=0 AND session_id=’$sid’)"; }

if ($item_id){
$isin = dbRowsCount(’cms_uc_cart’, "item_id = $item_id AND $user_sql");
} else {
$isin = dbRowsCount(’cms_uc_cart’, "$user_sql");
}
return $isin;
}

function shopCartLink(){
global $menuid;
$items = shopIsInCart();
$html = ’’;
$html .= ’<a id="shop_cartlink" href="/catalog/’.$menuid.’/viewcart.html">Корзина’;
if ($items){
$html .= ’ (’.$items.’)’;
}
$html .= ’</a>’;
return $html;
}

function shopCheckCarts(){
$sql = "DELETE FROM cms_uc_cart WHERE user_id = 0 AND pubdate <= DATE_SUB(NOW(), INTERVAL 3 HOUR)";
mysql_query($sql) or die(mysql_error());
return true;
}

function shopUpdateCart($itemcounts){
foreach($itemcounts as $id => $count){
$sql = "UPDATE cms_uc_cart SET itemscount = $count WHERE id = $id";
mysql_query($sql) or die(mysql_error());
}
return true;
}

function shopCart(){
global $menuid;
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();

//if (cmsUserCan(’shop/buy’)){
$GLOBALS[’back_btn’] = 0;
cmsPageTitle(’Корзина’);
cmsAddPathway(’Корзина’, $_SERVER[’REQUEST_URI’]);

echo ’<div class="con_heading">Корзина</div>’;

if ($user_id){ $user_sql = "(c.user_id=$user_id OR session_id=’$sid’)"; } else { $user_sql = "(c.user_id=0 AND c.session_id=’$sid’)"; }

$sql = "SELECT i.title as title, i.id as id, i.canmany as canmany, c.id as cid, cat.id as category_id, cat.title as category, c.itemscount as itemscount, i.price as price, (i.price*c.itemscount) as totalprice
FROM cms_uc_items i, cms_uc_cart c, cms_uc_cats cat
WHERE $user_sql AND c.item_id = i.id AND i.category_id = cat.id
ORDER BY c.pubdate";
$rs = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($rs)){
//BUILD LIST
//delete confirmation js
echo ’<script type="text/javascript">’."\n";
echo "function deleteItem(id){
if(confirm(’Удалить позицию из корзины?’)){
window.location.href = ’/catalog/0/cartremove’+id+’.html’;
}
}";
echo "function clearCart(){
if(confirm(’Очистить корзину?’)){
window.location.href = ’/catalog/0/clearcart.html’;
}
}";
echo "function saveCart(){
document.cartform.submit();
}";
echo ’</script>’."\n";
//table
echo ’<form action="/catalog/0/savecart.html" method="POST" name="cartform">’;
echo ’<table width="100%" cellpadding="5" cellspacing="0" border="0">’;
echo ’<tr>’;
echo ’<td width="16"> </td>’;
echo ’<td><strong>Позиция</strong></td>’;
echo ’<td width="200"><strong>Рубрика</strong></td>’;
echo ’<td width="120" align="center"><strong>Кол-во</strong></td>’;
echo ’<td width="100" align="center"><strong>Цена</strong></td>’;
echo ’<td width="20" align="center"> </td>’;
echo ’</tr>’;
$row=0; $total = 0;
while($item = mysql_fetch_assoc($rs)){
$row++;
if ($row%2) { $class="search_row1"; } else { $class="search_row2"; }
$item[’price’] = number_format($item[’price’], 2, ’.’, ’’);
$total += $item[’totalprice’];
$item[’totalprice’] = number_format($item[’totalprice’], 2, ’.’, ’ ’);
echo ’<tr>’;
echo ’<td class="’.$class.’"><img src="/components/catalog/images/icons/cart.png" border="0"></td>’;
echo ’<td class="’.$class.’"><a href="/catalog/’.$menuid.’/item’.$item[’id’].’.html">’.$item[’title’].’</a></td>’;
echo ’<td class="’.$class.’"><a href="/catalog/’.$menuid.’/’.$item[’category_id’].’">’.$item[’category’].’</a></td>’;
echo ’<td class="’.$class.’" align="center">’.$item[’price’].’ x ’.shopItemsCounter($item[’cid’], $item[’itemscount’], $item[’canmany’]).’ =</td>’;
echo ’<td class="’.$class.’" align="center"><strong>’.$item[’totalprice’].’</strong></td>’;
echo ’<td class="’.$class.’" align="center">’;
echo ’<a href="javascript:deleteItem(’.$item[’id’].’)" title="Удалить"><img src="/admin/images/actions/delete.gif" border="0"/></a>’;
echo ’</td>’;
echo ’</tr>’;
}
echo ’</table>’;
echo ’</form>’;

$total = number_format($total, 2, ’.’, ’ ’);
echo ’<div id="cart_total">’;
echo ’<span>Итого:</span> ’.$total.’ руб.’;
echo ’</div>’;

//buttons
echo ’<div id="cart_buttons">’;
echo ’<div id="cart_buttons1">’;
echo ’<a href="javascript:saveCart()" title="Сохранить">’;
echo ’<img src="/components/catalog/images/shop/savecart.jpg" border="0" alt="Сохранить"/>’;
echo ’</a> ’;
echo ’<a href="javascript:clearCart();" title="Очистить корзину">’;
echo ’<img src="/components/catalog/images/shop/clearcart.jpg" border="0" alt="Очистить корзину"/>’;
echo ’</a> ’;
echo ’</div>’;
echo ’<div id="cart_buttons2">’;
echo ’<a href="/catalog/’.$menuid.’" title="Вернуться в магазин">’;
echo ’<img src="/components/catalog/images/shop/cartback.jpg" border="0" alt="Вернуться в магазин"/>’;
echo ’</a> ’;
echo ’<a href="/catalog/’.$menuid.’/order.html" title="Оформить заказ">’;
echo ’<img src="/components/catalog/images/shop/cartorder.jpg" border="0" alt="Оформить заказ"/>’;
echo ’</a> ’;
echo ’</div>’;
echo ’</div>’;
} else {
//NO ITEMS
echo ’<p>В корзине нет товаров.</p>’;
echo ’<div id="cart_buttons2">’;
echo ’<a href="/catalog/’.$menuid.’" title="Вернуться в магазин">’;
echo ’<img src="/components/catalog/images/shop/cartback.jpg" border="0" alt="Вернуться в магазин"/>’;
echo ’</a> ’;
echo ’</div>’;

}

// } else {
// echo ’Доступ запрещен.’;
// }
}

function shopOrder($cfg){
global $menuid;
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();

$GLOBALS[’back_btn’] = 0;
cmsPageTitle(’Оформление заказа’);
cmsAddPathway(’Корзина’, ’/catalog/’.$menuid.’/viewcart.html’);
cmsAddPathway(’Оформление заказа’, $_SERVER[’REQUEST_URI’]);

echo ’<div class="con_heading">Оформление заказа</div>’;

echo ’<div class="con_description">’.nl2br($cfg[’delivery’]).’</div>’;

if ($user_id){ $user_sql = "(c.user_id=$user_id OR session_id=’$sid’)"; } else { $user_sql = "(c.user_id=0 AND c.session_id=’$sid’)"; }

$sql = "SELECT i.title as title, i.id as id, i.canmany as canmany, c.id as cid, cat.id as category_id, cat.title as category, c.itemscount as itemscount, i.price as price, (i.price*c.itemscount) as totalprice
FROM cms_uc_items i, cms_uc_cart c, cms_uc_cats cat
WHERE $user_sql AND c.item_id = i.id AND i.category_id = cat.id
ORDER BY c.pubdate";
$rs = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($rs)){
//BUILD LIST
//table
echo ’<form action="/catalog/0/savecart.html" method="POST" name="cartform">’;
echo ’<table width="100%" cellpadding="5" cellspacing="0" border="0">’;
echo ’<tr>’;
echo ’<td width="16"> </td>’;
echo ’<td><strong>Позиция</strong></td>’;
echo ’<td width="200"><strong>Рубрика</strong></td>’;
echo ’<td width="120" align="center"><strong>Кол-во</strong></td>’;
echo ’<td width="100" align="center"><strong>Цена</strong></td>’;
echo ’</tr>’;
$row=0; $total = 0;
while($item = mysql_fetch_assoc($rs)){
$row++;
if ($row%2) { $class="search_row1"; } else { $class="search_row2"; }
$item[’price’] = number_format($item[’price’], 2, ’.’, ’’);
$total += $item[’totalprice’];
$item[’totalprice’] = number_format($item[’totalprice’], 2, ’.’, ’ ’);
echo ’<tr>’;
echo ’<td class="’.$class.’"><img src="/components/catalog/images/icons/cart.png" border="0"></td>’;
echo ’<td class="’.$class.’"><a href="/catalog/’.$menuid.’/item’.$item[’id’].’.html">’.$item[’title’].’</a></td>’;
echo ’<td class="’.$class.’"><a href="/catalog/’.$menuid.’/’.$item[’category_id’].’">’.$item[’category’].’</a></td>’;
echo ’<td class="’.$class.’" align="center">’.$item[’price’].’ x ’.$item[’itemscount’].’ =</td>’;
echo ’<td class="’.$class.’" align="center"><strong>’.$item[’totalprice’].’</strong></td>’;
echo ’</tr>’;
}
echo ’</table>’;
echo ’</form>’;

$total = number_format($total, 2, ’.’, ’ ’);
echo ’<div id="cart_total">’;
echo ’<span>Общая сумма заказа:</span> ’.$total.’ руб.’;
echo ’</div>’;

//DELIVERY INFO FORM
echo ’<div class="con_heading">Информация покупателя</div>’;
echo ’<div>Поля, помеченные символом * обязательны к заполнению. </div>’;

echo ’<form action="/catalog/’.$menuid.’/finish.html" method="POST">’;
echo ’<table width="100%" cellspacing="0" cellpadding="5">’;
echo ’<tr>’;
echo ’<td width="40%" align="right">* ФИО покупателя: </td>’;
echo ’<td width="60%" align="left"><input name="customer_fio" type="text" size="45" /></td>’;
echo ’</tr>’;
echo ’<tr>’;
echo ’<td width="40%" align="right">* Адрес: </td>’;
echo ’<td width="60%" align="left"><input name="customer_company" type="text" size="45" /></td>’;
echo ’</tr>’;
echo ’<tr>’;
echo ’<td width="40%" align="right">* Контактный телефон: </td>’;
echo ’<td width="60%" align="left"><input name="customer_phone" type="text" size="45" /></td>’;
echo ’</tr>’;
echo ’<tr>’;
echo ’<td width="40%" align="right">* Количество персон: </td>’;
echo ’<td width="60%" align="left"><input name="customer_count" type="text" size="45" /></td>’;
echo ’</tr>’;
echo ’<tr>’;
echo ’<td width="40%" align="right">E-Mail: </td>’;
echo ’<td width="60%" align="left"><input name="customer_comment" type="text" size="45" /></td>’;
echo ’</tr>’;

echo ’<tr>’;
echo ’<td width="40%" align="right"> </td>’;
echo ’<td width="60%" align="left">’;
echo cmsCaptcha();
echo ’</td>’;
echo ’</tr>’;

echo ’<tr>’;
echo ’<td width="30%" align="right"> </td>’;
echo ’<td width="70%" align="left"><input name="order" type="submit" value="Отправить заказ" /></td>’;
echo ’</tr>’;
echo ’</table>’;
echo ’</form>’;

} else {
//NO ITEMS
echo ’<p>В корзине нет товаров.</p>’;
echo ’<div id="cart_buttons2">’;
echo ’<a href="/catalog/’.$menuid.’" title="Вернуться в магазин">’;
echo ’<img src="/components/catalog/images/shop/cartback.jpg" border="0" alt="Вернуться в магазин"/>’;
echo ’</a> ’;
echo ’</div>’;

}

}

function shopFinishOrder($cfg){
global $menuid;
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();

$GLOBALS[’back_btn’] = 0;
cmsPageTitle(’Заказ принят’);

if ($user_id){ $user_sql = "(c.user_id=$user_id OR session_id=’$sid’)"; } else { $user_sql = "(c.user_id=0 AND c.session_id=’$sid’)"; }

$sql = "SELECT i.title as title, i.id as id, i.canmany as canmany, i.price as price, (i.price*c.itemscount) as totalprice,
c.id as cid, c.itemscount as itemscount,
cat.id as category_id, cat.title as category
FROM cms_uc_items i, cms_uc_cart c, cms_uc_cats cat
WHERE $user_sql AND c.item_id = i.id AND i.category_id = cat.id
ORDER BY c.pubdate";
$rs = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($rs)){
//check user data
$customer = array();
if(!empty($_REQUEST[’customer_fio’])) { $customer[’fio’] = $_REQUEST[’customer_fio’]; } else { $error .= ’Укажите свое имя!<br/>’; }
if(!empty($_REQUEST[’customer_phone’])) { $customer[’phone’] = $_REQUEST[’customer_phone’]; } else { $error .= ’Укажите контактный телефон!<br/>’; }
if(!empty($_REQUEST[’customer_company’])) { $customer[’company’]= $_REQUEST[’customer_company’];} else { $error .= ’Укажите адрес доставки!<br/>’; }
if(!empty($_REQUEST[’customer_count’])) { $customer[’count’]= $_REQUEST[’customer_count’];} else { $error .= ’Укажите адрес доставки!<br/>’; }
$customer[’comment’] = @$_REQUEST[’customer_comment’];
if(!cmsCheckImgCode($_REQUEST[’code’])) { $error .= ’Неправильно указан защитный код с картинки!<br/>’; }

//BUILD MESSAGE
if($error==’’){
//message heading
$mail_message = ’’;
$mail_message .= "Получен заказ из каталога сайта.\n\n";
$mail_message .= "ПОКУПАТЕЛЬ\n-----------------------------\n";
$mail_message .= "ФИО: " . $customer[’fio’] . "\n";
$mail_message .= "Адрес: " . @$customer[’company’] . "\n";
$mail_message .= "Телефон: " . $customer[’phone’] . "\n";
$mail_message .= "Количество персон: " . $customer[’count’] . "\n";
$mail_message .= "Е-Mail: " . @$customer[’comment’] . "\n\n";
//list of items
$mail_message .= "ЗАКАЗ\n---------------------------------\n";
$row=0; $total = 0;
while($item = mysql_fetch_assoc($rs)){
$row++;
if ($row%2) { $class="search_row1"; } else { $class="search_row2"; }
$item[’price’] = number_format($item[’price’], 2, ’.’, ’’);
$total += $item[’totalprice’];
$item[’totalprice’] = number_format($item[’totalprice’], 2, ’.’, ’ ’);
$mail_message .= $row . ’. ’ . $item[’title’] . ’ (’ . $item[’itemscount’] . ’ x ’ . $item[’price’] . ’ руб) = ’ . $item[’totalprice’] . ’ руб.’ . "\n";
}

$total = number_format($total, 2, ’.’, ’ ’);
$mail_message .= "\n" . ’Общая сумма заказа: ’.$total.’ руб.’ . "\n";
cmsMailText($cfg[’email’], ’Гина Таки: заказ с сайта’, $mail_message);
//order completed
echo ’<div class="con_heading">Спасибо!</div>’;
echo ’<p style="clear:both"><b>Ваш заказ поступил в обработку.</b><br/>Наши менеджеры свяжутся с вами по указанному вами телефону в самое ближайшее время.</p>’;
echo ’<p><a href="/">Продолжить</a></p>’;
shopClearCart();
} else {
//order failed
echo ’<div class="con_heading">Ошибка!</div>’;
echo ’<p style="clear:both; color:red">’.$error.’</p>’;
echo ’<p><a href="#" onClick="window.history.back()">Назад</a></p>’;
}
} else {
//NO ITEMS
echo ’<p>В корзине нет товаров.</p>’;
echo ’<div id="cart_buttons2">’;
echo ’<a href="/catalog/’.$menuid.’" title="Вернуться в магазин">’;
echo ’<img src="/components/catalog/images/shop/cartback.jpg" border="0" alt="Вернуться в магазин"/>’;
echo ’</a> ’;
echo ’</div>’;

}
}

function shopItemsCounter($cartitem_id, $count, $canmany=1){
$count_field = ’’;
if ($canmany) { $count_field = ’<input type="text" style="text-align: center; font-size:9px; border:solid 1px black" size="5" name="kolvo[’.$cartitem_id.’]" value="’.$count.’"/>’; }
else { $count_field = ’<input type="hidden" name="kolvo[’.$cartitem_id.’]" value="1"/>1’; }
return $count_field;
}

?>
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.