Калькулятор в ss

Тема в разделе "Shop-script", создана пользователем Css_Ufa, 4 мар 2009.

Статус темы:
Закрыта.
  1. Css_Ufa

    Css_Ufa

    Регистр.:
    25 ноя 2008
    Сообщения:
    542
    Симпатии:
    323
    Вообщем трабл... Кто-нить разбирал калькулятор в ss, который относится к доп. характеристикам товара, тобишь наценкам...
    Короче выводит у меня копейки, причем не просто, а именно 80... хз почему)
    Код Вам Всем от ЯвыСкрипта)
    HTML:
                                       <script langauge='JavaScript'>
                                            document.MainForm.optionPrice.readOnly = true;
    
                                            function _formatPrice( _price )
                                            {     
                        
                                                 _pointIndex = -1;     
                                                 for( i=0; i< _price.length; i++ )
                                                      if ( _price.charAt(i) == '.' )
                                                      {
                                                           _pointIndex = i;
                                                           break;
                                                      }
    
                                                 if (  _pointIndex == -1 )
                                                      _price = _price + ".00";
                                                 else if (  _price.length-1 - _pointIndex == 1  )
                                                      _price = _price + "0";
    
                                                 _res = "";
    
                                                 i=0;
                                                 for( i=_price.length-1; i >= 0; i-- )
                                                 {
                                                      if ( _price.charAt(i) == '.' )
                                                           break;
                                                      else
                                                           _res = _price.charAt(i) + _res;
                                                 }
    
                                                 _res = "." + _res;
    
                                                 i--;
                                                 _digitCounter = 0;
                                                 for( ; i>=0; i-- )
                                                 {
                                                      _digitCounter ++;
                                                      _res = _price.charAt(i) + _res;
                                                      if ( _digitCounter == 3 && i != 0 )
                                                      {
                                                           _res = "," + _res;
                                                           _digitCounter = 0;
                                                      }                         
                                                 }
    
                                                 return _res;                                                  
                                            }
    
                                            function GetCurrentCurrency()
                                            {
                                       {/literal}
                                                 _selectionCount={$select_counter_var};
                                                 _sum = {$product_info.PriceWithOutUnit};
    
                                                 {counter name='select_counter2' start=1 skip=1 print=false 
                                                      assign='select_counter_var2'}
                                                      {section name=i loop=$product_extra}
                                                      {section name=k loop=$product_extra[i].option_show_times}
    
                                                           _value =
                                                                document.MainForm.option_select_{$select_counter_var2}.value;
                                                           price_surplus = ( _value.split(":") )[0];
                                                           _sum += new Number( price_surplus );
                                                           variantID = ( _value.split(":") )[1];
                                                           document.HiddenFieldsForm.option_select_hidden_{$select_counter_var2}.value = 
                                                                variantID;
    
                                                           {counter name=select_counter2}
    
                                                      {/section}
                                                      {/section}
    
                                                      _sumStr = new String(_sum); 
                                                      _commaIndex = _sumStr.indexOf(".");
                                                      if ( _commaIndex == -1 )
                                                           _sumStr = _sum;
                                                      else
                                                           _sumStr = _sumStr.substr(0, _commaIndex + 3);
                                                      {php}
                                                           echo("locationPriceUnit=".getLocationPriceUnit().";\n");
                                                           echo("priceUnit='".getPriceUnit()."';\n");
                                                      {/php}
    
                                                      _sumStr = _formatPrice( _sumStr );
    
                                                      if ( locationPriceUnit )
                                                           document.MainForm.optionPrice.value = 
                                                                _sumStr + document.MainForm.priceUnit.value;
                                                      else
                                                           document.MainForm.optionPrice.value = 
                                                                document.MainForm.priceUnit.value + _sumStr;
                                            {literal}
                                                 }
                                            {/literal}
                                            GetCurrentCurrency();
                                       </script>
    
    S.o.S :)
     
  2. Magnum2007

    Magnum2007 Писатель

    Регистр.:
    28 фев 2009
    Сообщения:
    4
    Симпатии:
    1
    опиши подробнее - как воспроизвести ошибку,
    ато х.з. что у тебя выводит 80 копеек, и на какой странице ты это увидел.
     
  3. Magnum2007

    Magnum2007 Писатель

    Регистр.:
    28 фев 2009
    Сообщения:
    4
    Симпатии:
    1
    Сейчас настраиваю Shop-Script, нашел то, о чем ты пишешь.
    Копейки появляются при пересчете валюты.
    Попробуй курс рубля поставить как 1, тогда копейки перестанут появляться.
    Зато центы появятся ;)
     
    Css_Ufa нравится это.
  4. Css_Ufa

    Css_Ufa

    Регистр.:
    25 ноя 2008
    Сообщения:
    542
    Симпатии:
    323
    Вот точно, ты прав... ВОт он почему гад выводил 80 копеек, у меня стоял 1=0.8 просто))))
    Да кстати, а если несколько валют ставишь, то как быть?!
    И если курсы такие, разве нельзя убрать центы(копейки) вообще?! :)
     
  5. Elsys

    Elsys Создатель

    Регистр.:
    14 июн 2007
    Сообщения:
    26
    Симпатии:
    12
    Можно.
    Пользуйся поиском было на форуме.
    для ленивых
     
  6. Css_Ufa

    Css_Ufa

    Регистр.:
    25 ноя 2008
    Сообщения:
    542
    Симпатии:
    323
    Ты не понял, а то по сути уже округлил, только вот все равно он округляет в доп. функциях из-за Валюты, как бытЬ?

    Смотри

    Вот как говорится в чем запрос... думал поставить 1, но будет изначальная цена 1, но мне надо 0... я тут подумал поковырятся в коде product_detailed чего-то там) в условии где price=0 :) Кто-нить делал что-нить подобное?! :)
     
  7. serge666

    serge666 Создатель

    Регистр.:
    20 мар 2009
    Сообщения:
    17
    Симпатии:
    1
    тебе сюда :
    http://shop-scripts.ru/
    быстро толково и непосредственно про shop-script - форум поддержки именно этого продукта!
     
Статус темы:
Закрыта.