0 Пользователей и 1 Гость просматривают эту тему.
  • 41 Ответов
  • 19376 Просмотров
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
если везде выходит, а в письме нет, то проверяй письмо:
Цитировать
<tr class="Stil1">
          <td colspan=4 align=right><?php echo $VM_LANG->_('TIT')?> :</td>
          <td><?php
       
        $sconto = $db->f("sconto");
         if ($sconto != 0) {
               echo "- ".$CURRENCY_DISPLAY->getFullValue( $sconto, '', $db->f('order_currency'));}
            else echo $VM_LANG->_('NON_APP');?>
         </td>
        </tr>
на кройняк посмотри мой tpl

[вложение удалено Администратором]
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
Дружище skyscraper, пасибо что отозвался! Пробовал заменить твой файл у себя (вирт 1.1.4), ничиге не помогло, потом решил просто изменить на приведённый кусок в коде, аналогично не меняет. Вся загвоздка в переменной $order_total которая после подтверждения заказа остаётся без скидки, почему так непонятно.
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
если order выводит попробуй примитивно в ручную просчитать, у тебя много скидок?
впиши перед таблицей <tr><td> этот код, только измени для себя сумму и проценты (у меня сделано под 2% от 2000 и 3% после 3000, можешь размножить больше):
Цитировать
<?php           
$total=$db->f("order_subtotal");
/*sconto sul totale plus mod inizio*/
if ( $total <2000 ){
$total1 = 0;   }
else if ( $total >1999 && $total <3000 ) {   
$total1 = round($total*0.02,0);
$order_total1 = $total - $total1;
}
else if ( $total >2999) {   
$total1 = round($total*0.03,0);
$order_total1 = $total - $total1;
}
?>

и где будет идти вывод например так:
Цитировать
<tr>
            <td align="right" colspan="7"><strong><?php echo $VM_LANG->_('TIT')?>:</strong></td>
            <td width="10%" align="right" style="padding-right: 5px;"><strong><?php echo $GLOBALS['CURRENCY_DISPLAY']->getFullValue($total1, '', $db->f('order_currency')); ?></strong>
              </td>
           </tr>
            
                <tr>
            <td align="right" colspan="7"><strong><?php echo $VM_LANG->_('PHPSHOP_CART_TOTAL')?>:</strong></td>
            <td width="10%" align="right" style="padding-right: 5px;"><strong><?php echo $CURRENCY_DISPLAY->getFullValue($db->f("order_total1"), '', $db->f('order_currency')); ?></strong>
              </td>
           </tr>
« Последнее редактирование: 16.03.2011, 09:53:24 от skyscraper »
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
Спасибо Вечером опробую, я вкомандировке :) +1
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
skyscraper, собственно после вставки приведённого кода confirmation_email.tpl.php в перед

<tr class="Stil1">
          <td colspan=4 align=right><b><font color="red"><?php echo $VM_LANG->_('PHPSHOP_CART_TOTAL').": " ?></font></b></td>
          <td><?php echo '<font color="red">'.$order_total.'</font>' ?><?php echo '<font color="red">'.$total.'</font>' ?></td>
        </tr>

в письме выдало

:
0.00 грн
Итого:
0.00

 :o
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
а что у тебя с $order_subtotal
попробуй в любом месте вывести <?php echo $db->f("order_subtotal");?>
если они у тебя не работают (order_total и order_subtotal), то у тебя что-то не так в классах вирта ps_? начни с того что подгружает confirmation, где считаются orderы, потом может до базы докопаешь х3  ^-^
« Последнее редактирование: 18.03.2011, 10:11:18 от skyscraper »
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
ссори что не отвечал, хостер сайт переносил на другой сервак. <?php echo $db->f("order_subtotal");?> не отобразил  :(
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
значит проверяй ps_checkout.php
в конце вывод идет?
Цитировать
$template->set_vars(array(
                                          'is_email_to_shopper' => true,
                                          'db' => $db,
                                          'dboi' => $dboi,
                                          'dbbt' => $dbbt,
                                          'dbst' => $dbst,
                                          'ps_product' => $ps_product,
                                          'shippingfields' => $shippingfields,
                                          'registrationfields' => $registrationfields,
                                          'order_id' => $order_id,
                                          'order_discount' => $order_discount,
                                          'order_discount_lbl' => $order_discount_lbl,
                                          'order_discount_plusminus' => $order_discount_plusminus,         
                                          'coupon_discount' => $coupon_discount,
                                          'coupon_discount_lbl' => $coupon_discount_lbl,
                                          'coupon_discount_plusminus' => $coupon_discount_plusminus,
                                          'order_date' => $VM_LANG->convert( vmFormatDate($db->f("cdate"), $VM_LANG->_('DATE_FORMAT_LC') )),
                                          'order_status' => $order_status,
                                          'legal_info_title' => $legal_info_title,
                                          'legal_info_html' => $legal_info_html,
                                          'order_link' => $shopper_order_link,
         
                                          'payment_info_lbl' => $VM_LANG->_('PHPSHOP_ORDER_PRINT_PAYINFO_LBL'),
                                          'payment_info_details' => $payment_info_details,
                                          'shipping_info_lbl' => $VM_LANG->_('PHPSHOP_ORDER_PRINT_SHIPPING_LBL'),
                                          'shipping_info_details' => $shipping_info_details,
         
                                          'from_email' => $from_email,
                                          'customer_note' => nl2br($customer_note),
                                          'order_header_msg' => $shopper_header,
         
                                          'order_subtotal' => $CURRENCY_DISPLAY->getFullValue($sub_total, '', $db->f('order_currency')),
                                          'order_shipping' => $CURRENCY_DISPLAY->getFullValue($order_shipping, '', $db->f('order_currency')),
                                          'order_tax' => $CURRENCY_DISPLAY->getFullValue($order_tax, '', $db->f('order_currency')). ps_checkout::show_tax_details( $db->f('order_tax_details'), $db->f('order_currency') ),
                                          'order_total' => $CURRENCY_DISPLAY->getFullValue($order_total, '', $db->f('order_currency')),
         
                                 ));
         $shopper_html = $template->fetch('order_emails/confirmation_email.tpl.php');
*

voshod

  • Новичок
  • 3
  • 0 / 0
Заранее извиняюсь за флуд, но никак не могу найти решение, а для знатоков думаю это совсем не проблема

skyscraper, спасибо за решение со скидками! появился вопрос - существует ли возможность выводить цену для каждого товара в корзине и в письме уже с учетом скидки и не подскажете, насколько сложно это реализовать? как я понимаю если скидка считается уже от суммы заказа, то это невозможно реализовать, но может быть скидка считается для каждого товара? разбирался в коде, так и не смог понять как это происходит
Додумался до того, что надо ставить условие в файле basket.php, но цена товара формируется в цикле в начале файла
Код
$product_rows[$i]['product_price'] = $GLOBALS['CURRENCY_DISPLAY']->getFullValue($product_price);
а общая сумма заказа $order_total считается в самом конце файла. Подскажите, пожалуйста, если кто знает, как поставить цикл в конце файла с условием на сумму заказа, чтобы выводить скидочные цены товаров пусть даже после основного цикла с артикулом и другими параметрами, или может есть еще какое-то решение, бьюсь уже вторую неделю, не могу найти выход. Если ставить условие в конце файла, то выводится только цена последнего товара.
*

Noralla

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
Вот здесь http://joomlaforum.ru/index.php/topic,216059.0.html предлагается полностью готовый модуль накопительной скидки.
*

spsyper

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Добрый день, интегрировал Ваше решение накопительной скидки, но на 3-ем шагу оформления покупки - при выборе "Варианты доставки" и переходе к "Способ оплаты" выбрасывает следующую ошибку - Fatal error: Call to a member function get_rate() on a non-object in ... (177 строка в моем случае) -   $shipping_total = round( $ps_checkout->_SHIPPING->get_rate ( $vars ), 5 ); - строка с файла basket.php, кто подскажет что можно сделать?

...И ещё не могу понять, пока не доделал до конца этот хак работает как "накопительный от сделанных ранее заказов и текущего заказа" или только от "суммы текущего заказа" ??

Заранее за ответ - спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться