|
|
27.08.2010, 08:54
|
|
LyonSH
Зарегистрирован: 2010-08-27
Сообщений: 9
|
очень нужна ваша помощь, вопрос на засыпку знатокам.
вот тут - \netcat\modules\netshop\payment есть модули оплаты, в т.ч. и банковские.
в bank.php и sberbank.php сразу в самом начале есть функции -
Код:function create_bill() {
global $SUB_FOLDER, $HTTP_ROOT_PATH;
print "
<form action='".$SUB_FOLDER.$HTTP_ROOT_PATH."modules/netshop/post.php' method=get target=_blank>
<input type=hidden name=action value=print_bill>
<input type=hidden name=system value=sberbank>
<input type=hidden name=mode value=print_bill>
<input type=hidden name=order_id value=".$this->shop->OrderID .">
<input type=hidden name=key value=".$this->crc() . ">
<input type=submit value='Распечатать квитанцию'>
</form>";
}
// печать квитанции для оплаты через сбербанк
function print_bill() {
if ($_GET["key"] != $this->crc()) die(NETCAT_MODULE_NETSHOP_NO_RIGTHS);
$RUR = $this->shop->CurrencyDetails["RUR"]["Currency"];
$sum = $this->shop->ConvertCurrency($this->shop->CartSum(),
$this->shop->DefaultCurrencyID,
$RUR);
$sum = $this->shop->FormatCurrency($sum, 'RUR');
?>
1) подскажите пожалуйста как сделать чтобы create_bill() ВООБЩЕ хоть где-то была задействована!!!! чтобы была кнопка value='Распечатать квитанцию'.... т.к. после выбора способа оплаты и нажатия "Оформить Заказ" кроме сообщения "Заказ оформлен." ничего больше нету, при этом уведомление даже не приходит на почту, хоть "OrderConfirmation" и создан.
2) способы оплаты хоть включай, хоть выключай, никаких изменений не происходит. такое ощущение что шаблон тупо берётся из netcat\modules\netshop\function.inc.php (3оплаты/2доставки) и больше никаких телодвижений в сторону настроек из админки.
|
|
|
27.08.2010, 10:49
|
|
malich
Андрей Малков
Зарегистрирован: 2005-08-09
Сообщений: 522
|
Лично у меня после оформления заказа, если выбран способ оплаты через сбербанк, появляется надпись "заказ оформлен" и кнопка распечатать счет.
сам вызов функции create_bill происходит в файле \netcat\modules\netshop\function.inc.php который собственно и формирует вывод корзины.
На худой конец вы скорее всего можете сами вставить в действии после добавления компонента заказа, эту ссылку.
Код: <form action='".$SUB_FOLDER.$HTTP_ROOT_PATH."modules/netshop/post.php' method=get target=_blank>
<input type=hidden name=action value=print_bill>
<input type=hidden name=system value=sberbank>
<input type=hidden name=mode value=print_bill>
<input type=hidden name=order_id value=".$this->shop->OrderID .">
<input type=hidden name=key value=".$this->crc() . ">
<input type=submit value='Распечатать квитанцию'>
</form>
Если я правильно понимаю ".$this->crc()." это секретный ключ из настроек интернет магазина?
".$this->shop->OrderID." это ид заказа $message
|
|
|
27.08.2010, 20:00
|
|
LyonSH
Зарегистрирован: 2010-08-27
Сообщений: 9
|
Цитата:<input type=hidden name=system value=sberbank>
а если способ оплаты "наложенным платежом" и квитанция уже должна браться из bank.php и не sberbank?
даже такой вариант не прокатил, неужели никто не решал это.
после "Заказ Оформлен" вместо кнопки распечатать обрубило страницу...
malich, если не трудно залей свой \netcat\modules\netshop\function.inc.php проверю его, может он отличается от моего чем-то. и ещё скопируй в компонентах--netshop--Магазин:Заказ--Шаблоны Действий--Действие после добавления объекта то что там у тебя есть.
P.S. помогите кто-нибудь...
|
|
|
27.08.2010, 20:11
|
|
malich
Андрей Малков
Зарегистрирован: 2005-08-09
Сообщений: 522
|
Позвоните в тех поддержку, проблема может быть в чем угодно и таким образом искать ее можно очень долго.
|
|
|
27.08.2010, 20:17
|
|
LyonSH
Зарегистрирован: 2010-08-27
Сообщений: 9
|
тех.поддержка мне не доступна...
если так трудно помочь, не заставляю. спасибо что откликнулись.
помогите кто-нибудь.
|
|
|
27.08.2010, 22:20
|
|
LyonSH
Зарегистрирован: 2010-08-27
Сообщений: 9
|
Сделал так:
Код:print "<h1 align='center' style='padding-top: 20px;'>Заказ оформлен.</h1>
<!--Начало Линия -->
<div class='goldenline'></div>
<!--Конец Линия -->
<form action='/netcat/modules/netshop/post.php' method=get target=_blank>
<input type=hidden name=action value=print_bill>
<input type=hidden name=system value=sberbank>
<input type=hidden name=mode value=print_bill>
<input type=hidden name=order_id value=".$msgID.">
<input type=hidden name=key value=".$shop->secret_key.">
<input type=submit value='Распечатать квитанцию'>
</form>";
вроде как правильно, но видимо crc() и secret_key из настроек магазина разные вещи.
вместо распечатки показало мне:
Цитата:У Вас нет прав для доступа к данной информации
сама функция crc() --
Код:function crc() {
return md5($this->shop->secret_key .
$this->shop->OrderID
);
}
видмо формирует crc() возвращая в md5 тот же secret_key и id заказа.
но этот crc() вообще не выходит вызвать в шаблонах действия "Магазин:Заказы", просто не отображается шаблон и всё.
народ, покажите свои шаблоны действий в -
компонентах-->netshop-->Магазин:Заказ-->Шаблоны Действий-->Действие после добавления.
может там кроется отгадка вызова нормальной кнопки "распечатать квитанцию".
|
|
|
27.08.2010, 22:43
|
|
LyonSH
Зарегистрирован: 2010-08-27
Сообщений: 9
|
сформирал md5 из ключа+id.заказа, заменил в ссылке, распечатка открылась, но как теперь его в шаблоне сформировывать автоматом, обходясь без crc(), так как до неё из шаблона не попасть никак.
ужас)) пляски с бубном
|
|
|
30.08.2010, 09:21
|
|
malich
Андрей Малков
Зарегистрирован: 2005-08-09
Сообщений: 522
|
Скопируйте функцию crc(), в файл /nrtcat/modules/default.inc.php, назовите ее по другому:
Код:function my_crc($key,$id) {
return md5($key .
$id
);
}
И вызывайте ее в нужном месте. Если это действие после добавления то:
Код:".my_crc($MODULE_VARS['netshop']['SECRET_KEY'],$message)."
Если массив $MODULE_VARS не доступен то там же перед вызовом этой функции его нужно сделать глобальным:
|
|
|
12.09.2010, 13:59
|
|
LyonSH
Зарегистрирован: 2010-08-27
Сообщений: 9
|
спасибо добрый человек))
|