Помощь Кредитный калькулятор и статическая страница!

Тема в разделе "DLE", создана пользователем alexcosmo, 7 апр 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. alexcosmo

    alexcosmo Создатель

    Регистр.:
    26 мар 2009
    Сообщения:
    12
    Симпатии:
    2
    Помогите в статическую страницу вставить крединый калькулятор!
    Версия дле 7,3!
     
  2. alexz15

    alexz15

    Регистр.:
    3 окт 2008
    Сообщения:
    394
    Симпатии:
    190
  3. alexz15

    alexz15

    Регистр.:
    3 окт 2008
    Сообщения:
    394
    Симпатии:
    190
    Цена ответа!
    Создай в папке с шаблоном файл static_calc.tpl и скопируй в него содержимое файла static.tpl.
    Далее, после {static}, где-нибудь ниже добавь код:
    HTML:
    <script>
    <!--
    var a = 50000.00;
    var p = 11;
    var t = 3;
    var d = 0;
    var htmlCode = "";
    var tStr = "";
    
    
    function Init()
    {
      document.forms.mainform["amount"].value = a.toString();
      document.forms.mainform["percent"].value = p.toString();
    
      onChangeParameter();
    }
    
    function roundPrcs(value, precision)
    {
      var val = Math.round(value*Math.pow(10,precision));
    
      val=val<0 ? "" : val.toString();
    
      val = val.substring(0,val.length-precision)+"."+val.substring(val.length-precision, val.length);
    
      return val;
    }
    
    function onChangeParameter()
    {
      switch (document.forms.mainform["calcscheme"].value)
      {
        case "decr" :
        document.getElementById("pay_header").innerText="Платеж в первый месяц"; 
          
          break;
        case "equ" :
            document.getElementById("pay_header").innerText="Ежемесячный платеж";
        
          break;
        default :
            document.getElementById("pay_header").innerText="";
         
      }
    
      calcPay();
    }
    
    function calcPay()
    {
      a = Number(document.forms.mainform["amount"].value);
      p = Number(document.forms.mainform["percent"].value);
      t = Number(document.forms.mainform["term"].value);
      d = Number(document.forms.mainform["pay"].value);
    
      switch (document.forms.mainform["calcscheme"].value)
      {
        case "decr" :
          d = a/t+a*p/1200;
          break;
        case "equ" :
          d = a*p/1200/(1-Math.pow(1+p/1200,-t));
          break;
        default :
          d=-1;
      }
    
      document.forms.mainform["pay"].value = roundPrcs(d, 2);
    }
    
    function genTable()
    {
    
      a = Number(document.forms.mainform["amount"].value);
      p = Number(document.forms.mainform["percent"].value);
      t = Number(document.forms.mainform["term"].value);
      var scheme="";
      var db, dp, d;
      var sdb=0, sdp=0, sd=0;
    
    //  document.all("pay_table").innerText="A long time ago";
    
      for(i=0;i<document.forms.mainform["calcscheme"].options.length;i++)
      {
        if(document.forms.mainform["calcscheme"].options.item(i).selected)
        {
          scheme=document.forms.mainform["calcscheme"].options.item(i).innerText;
          break;
        }
      }
      tStr ="";
      tStr = tStr + "<p class='title2'>Условия кредитования:</p>";
      tStr = tStr + "Схема выплат: "+scheme+".<br />";
      tStr = tStr + "Сумма кредита: "+roundPrcs(a,2)+ "<br />";
      tStr = tStr + "Срок кредитования: "+t+" мес. Процентная ставка: "+roundPrcs(p,2)+"%.<br /><br />";
      tStr = tStr + "<p class='title2'>График возврата кредита и уплаты процентов за пользование кредитом:</p>";
      tStr = tStr + "<table border=1 width=90% cellspacing=0 cellpadding=5 bgcolor=#сссссс style='border:1px solid white'>";
      tStr = tStr + "<tr bgcolor='#555555' style='color:white'><td>Период (№ года)</td><td>Возвращаемая часть кредита</td>";
      tStr = tStr + "<td>Проценты по кредиту</td><td>Общая сумма кредита и процентов</td><td>Задолженность</td></tr>";
    
      db=Number(roundPrcs(a/t,2));
      d=Number(roundPrcs(a*p/1200/(1-Math.pow(1+p/1200,-t)),2));
      var tyear = 0;
      for(i=1;i<t;i++)
      {
        switch (document.forms.mainform["calcscheme"].value)
        {
          case "decr" :
            dp=Number(roundPrcs(a*p/1200,2));
            d=Number(roundPrcs(db+dp,2));
            a=a-db;
            break;
          case "equ" :
            dp=Number(roundPrcs(a*p/1200,2));
            db=Number(roundPrcs(d-dp,2));
            a=a-db;
            break;
          default :
            dp="";
        }
        if ((i-1)%12 == 0) tyear++;
        tStr = tStr + "<tr  bgcolor='#FFFFFF'><td><nobr>"+i+" мес. (" + tyear +  " год )</nobr></td><td align=center>"+roundPrcs(db,2)+"</td><td align=center>"+roundPrcs(dp,2)+"</td><td align=center>"+roundPrcs(d,2)+"</td><td align=center>"+roundPrcs(a,2)+"</td></tr>";
        sdp+=dp;
        sdb+=db;
        sd+=d;
      }//for
    
      db=a;
      dp=Number(roundPrcs(db*p/1200,2));
      d=Number(roundPrcs(db+dp,2));
      sdp+=dp;
      sdb+=db;
      sd+=d;
    
      tStr = tStr + "<tr bgcolor='#FFFFFF' ><td>"+i+" мес. (" + tyear + " год) </td><td align=center>"+roundPrcs(db,2)+"</td><td align=center>"+roundPrcs(dp,2)+"</td><td align=center>"+roundPrcs(d,2)+"</td><td align=center>"+roundPrcs(a,2)+"</td></tr>";
    
      tStr = tStr + "<tr bgcolor='#AAAAAA' style='color:white'><td><b>Всего:</b></td><td align=center><b>"+roundPrcs(sdb,2)+"</b></td><td align=center><b>"+roundPrcs(sdp,2)+"</b></td><td align=center><b>"+roundPrcs(sd,2)+"</b></td align=center><td bgcolor='AAAAAA'></td></tr>";
    
      tStr = tStr + "</table><br />";
    
    document.getElementById("table_data").innerHTML = "";
    document.getElementById("table_data").innerHTML = tStr;
    
    }
    
    -->
    
    </script>
    
    <script>
      htmlCode = '';
    
      htmlCode = htmlCode + '<form id="mainform">';
      htmlCode = htmlCode + '<table border=0 cellspacing=0 celpadding=0><tr><td width=200>Схема выплат</td><td>';
      htmlCode = htmlCode + '  <select class="input" name="calcscheme" onclick="onChangeParameter()" onkeyup="onChangeParameter()">';
      htmlCode = htmlCode + '  <option id="decr" value="decr">Убывающими платежами</option>';
      htmlCode = htmlCode + '  <option selected id="edu" value="equ">Аннуитентными платежами</option>';
      htmlCode = htmlCode + '  </select>  </td></tr><tr><td>Сумма кредита</td><td>';
      htmlCode = htmlCode + '<input  class="input" type="text" size=10 name="amount" value="" onkeyup="onChangeParameter()"> руб.';
      htmlCode = htmlCode + '  </td></tr><tr>  <td>    Годовая ставка  </td>';
      htmlCode = htmlCode + '<td><input  class="input" type="text" size=10 name="percent" value="" onkeyup="onChangeParameter()"> %';
      htmlCode = htmlCode + '</td></tr><tr>  <td>  Срок погашения  </td>  <td>';
      htmlCode = htmlCode + '  <select  class="input" name="term" onclick="onChangeParameter()" onkeyup="onChangeParameter()">';
      htmlCode = htmlCode + '<option ';
      if (t == 1) { htmlCode = htmlCode + ' selected '; }
      htmlCode = htmlCode +  ' value="12">1 год</option>';
    
      var aMonth = 0;
    
      for(i=2;i<5;i++)
      {
        aMonth = i*12;
        htmlCode = htmlCode + '<option ';
        if (t == i) { htmlCode = htmlCode + ' selected '; }
        htmlCode = htmlCode + ' value="' + aMonth.toString() + '">' + i.toString() + ' года</option>';
      }
    
      for(i=5;i<21;i++)
      {
        aMonth = i*12;
        htmlCode = htmlCode + '<option ';
        if (t == i) { htmlCode = htmlCode + ' selected '; }
        htmlCode = htmlCode + ' value="' + aMonth.toString() + '">' + i.toString() + ' лет</option>';
      }
      htmlCode = htmlCode + '<option ';
      if (t == 21) { htmlCode = htmlCode + ' selected '; }
      htmlCode = htmlCode + ' value="252">21 год</option>';
      for(i=22;i<25;i++)
      {
        aMonth = i*12;
        htmlCode = htmlCode + '<option ';
        if (t == i) { htmlCode = htmlCode + ' selected '; }
        htmlCode = htmlCode + ' value="' + aMonth.toString() + '">' + i.toString() + ' года</option>';
      }
    
      for(i=25;i<31;i++)
      {
        aMonth = i*12;
        htmlCode = htmlCode + '<option ';
        if (t == i) { htmlCode = htmlCode + ' selected '; }
        htmlCode = htmlCode + ' value="' + aMonth.toString() + '">' + i.toString() + ' лет</option>';
      }
    
      htmlCode = htmlCode + '  </select>  </td></tr><tr>  <td>';
      htmlCode = htmlCode + '<span id="pay_header">Платеж в первый месяц</span>  </td>  <td>';
      htmlCode = htmlCode + '<input  class="input" type="text" size=10 name="pay" disabled value="" onkeyup="onChangeParameter()">';
      htmlCode = htmlCode + '<span id="ccy2"></span>  </td></tr></table>';
      htmlCode = htmlCode + '<br /><input class="button" type="button" value="Построить график погашения" onclick="genTable()"></form>';
    
    </script>
    <br /><table style="border: 1px solid rgb(204, 204, 204);" cellpadding="10" cellspacing="0" width="350"><tbody><tr><td>
    <script>
      document.write(htmlCode);
      Init();
    </script>
    <br /></td></tr></tbody></table>
    <br />
    <table><tbody><tr><td id="table_data"><br /></td></tr></tbody></table>
    При создании статической страницы укажи этот шаблон (Использовать шаблон static_calc.tpl)
    А в содержимое статической страницы можно добавить что-то типа этого:
    Код:
    <p>С помощью нашего кредитного калькулятора Вы можете рассчитать примерную
    сумму ежемесячных выплат по кредиту. Полученный результат не является
    точным, т.к. в каждом банке существуют дополнительные комиссии,
    информацию о которых Вы можете получить только после выбора банка.</p><p>Рекомендуем внимательно выбрать между аннуитетной и убывающей схемой выплат по кредиту:</p><ul><li><b>Аннуитентные платежи</b> в России получили наибольшее
    распространение. Они удобны для планирования бюджета заемщика, так как
    все время составляют одну и ту же сумму. И на первом этапе погашения ипотечного кредита, сумма аннуитентных платежей ниже, чем сумма дифференцированных. Но в конечном итоге, заемщик, выбравший схему аннуитетного расчета платежей, заплатит кредитору большую сумму, чем заемщик, рассчитывающийся по дифференцированной схеме.</li><li><p><b>Убывающие платежи</b> ложатся достаточно тяжелым бременем на заемщика в первые годы расчетов по кредиту. Зато приблизительно с середины срока кредитования, когда платежи по кредиту значительно снизятся, появляются свободные денежные средства и возможность взять новый кредит. <br /></p></li></ul><br />
     
    alexcosmo нравится это.
  4. alexcosmo

    alexcosmo Создатель

    Регистр.:
    26 мар 2009
    Сообщения:
    12
    Симпатии:
    2
    А помогите вот этот встроить!
    Я вроде бы сделал по шаблону сверху, изменил путь к скриптам и картинкам, но скрипт не работает.
     

    Вложения:

    • calc.rar
      Размер файла:
      20 КБ
      Просмотров:
      30
Статус темы:
Закрыта.