Version Notes
Correção no modo de cálculo, que passa a usar somente a tabela Price.
Download this release
Release Info
Developer | Francisco Prado |
Extension | FranciscoPrado_PrecoParcelado |
Version | 2.0.0.2 |
Comparing to | |
See all releases |
Code changes from version 2.0.0.1 to 2.0.0.2
- app/code/community/FranciscoPrado/PrecoParcelado/Helper/Data.php +16 -25
- app/code/community/FranciscoPrado/PrecoParcelado/etc/config.xml +2 -3
- app/code/community/FranciscoPrado/PrecoParcelado/etc/system.xml +0 -12
- app/design/frontend/base/default/template/precoparcelado/jsdata.phtml +1 -3
- app/design/frontend/base/default/template/precoparcelado/table.phtml +1 -5
- package.xml +6 -6
- skin/frontend/base/default/js/precoparcelado.js +28 -31
app/code/community/FranciscoPrado/PrecoParcelado/Helper/Data.php
CHANGED
@@ -9,11 +9,10 @@ class FranciscoPrado_PrecoParcelado_Helper_Data extends Mage_Core_Helper_Abstrac
|
|
9 |
const XML_PATH_MIN_PARCEL_VALUE = 'sales/franciscoprado_precoparcelado/min_quote_value';
|
10 |
const XML_PATH_MAX_NUMBER_MONTHS = 'sales/franciscoprado_precoparcelado/max_number_months';
|
11 |
const XML_PATH_INTEREST_VALUE = 'sales/franciscoprado_precoparcelado/interest_value';
|
12 |
-
const XML_PATH_USE_COMPOUND = 'sales/franciscoprado_precoparcelado/use_compound';
|
13 |
const XML_PATH_TEXT_PATTERN = 'sales/franciscoprado_precoparcelado/text_pattern';
|
14 |
const XML_PATH_TABLE_TEXT_PATTERN = 'sales/franciscoprado_precoparcelado/text_table_pattern';
|
15 |
const XML_PATH_ADD_JQUERY = 'sales/franciscoprado_precoparcelado/add_jquery';
|
16 |
-
|
17 |
public function isModuleEnabled($moduleName = null) {
|
18 |
if ((int) Mage::getStoreConfig(self::XML_PATH_ACTIVE, Mage::app()->getStore()) != 1) {
|
19 |
return false;
|
@@ -45,10 +44,6 @@ class FranciscoPrado_PrecoParcelado_Helper_Data extends Mage_Core_Helper_Abstrac
|
|
45 |
return (float) Mage::getStoreConfig(self::XML_PATH_INTEREST_VALUE, $store);
|
46 |
}
|
47 |
|
48 |
-
public function useCompound($store = null) {
|
49 |
-
return (int) Mage::getStoreConfig(self::XML_PATH_USE_COMPOUND, $store);
|
50 |
-
}
|
51 |
-
|
52 |
public function getText($store = null) {
|
53 |
return Mage::getStoreConfig(self::XML_PATH_TEXT_PATTERN, $store);
|
54 |
}
|
@@ -61,20 +56,20 @@ class FranciscoPrado_PrecoParcelado_Helper_Data extends Mage_Core_Helper_Abstrac
|
|
61 |
return Mage::getStoreConfig(self::XML_PATH_ADD_JQUERY, $store);
|
62 |
}
|
63 |
|
64 |
-
public function
|
65 |
-
$interest = $interest
|
66 |
-
$
|
67 |
-
$
|
68 |
-
|
69 |
-
return $parcelValue;
|
70 |
-
}
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
|
|
|
|
76 |
|
77 |
-
|
|
|
78 |
}
|
79 |
|
80 |
public function getPrice($value) {
|
@@ -84,11 +79,7 @@ class FranciscoPrado_PrecoParcelado_Helper_Data extends Mage_Core_Helper_Abstrac
|
|
84 |
$finalText = '';
|
85 |
|
86 |
for ($i = 2; $i <= $this->getMaxNumberMonths(); $i++) {
|
87 |
-
|
88 |
-
$parcel = $this->getCompoundInterest($value, $this->getInterest(), $i);
|
89 |
-
} else {
|
90 |
-
$parcel = $this->getSimpleInterest($value, $this->getInterest(), $i);
|
91 |
-
}
|
92 |
|
93 |
if ($parcel >= $this->getMinParcelValue()) {
|
94 |
$price = Mage::helper('core')->currency($parcel, true, false);
|
@@ -96,9 +87,9 @@ class FranciscoPrado_PrecoParcelado_Helper_Data extends Mage_Core_Helper_Abstrac
|
|
96 |
$finalText = str_replace('{preco}', $price, $replaceText);
|
97 |
}
|
98 |
}
|
99 |
-
|
100 |
$returnHtml = sprintf('<span class="precoparcelado-parcels">%s</span>', $finalText);
|
101 |
-
|
102 |
return $returnHtml;
|
103 |
}
|
104 |
}
|
9 |
const XML_PATH_MIN_PARCEL_VALUE = 'sales/franciscoprado_precoparcelado/min_quote_value';
|
10 |
const XML_PATH_MAX_NUMBER_MONTHS = 'sales/franciscoprado_precoparcelado/max_number_months';
|
11 |
const XML_PATH_INTEREST_VALUE = 'sales/franciscoprado_precoparcelado/interest_value';
|
|
|
12 |
const XML_PATH_TEXT_PATTERN = 'sales/franciscoprado_precoparcelado/text_pattern';
|
13 |
const XML_PATH_TABLE_TEXT_PATTERN = 'sales/franciscoprado_precoparcelado/text_table_pattern';
|
14 |
const XML_PATH_ADD_JQUERY = 'sales/franciscoprado_precoparcelado/add_jquery';
|
15 |
+
|
16 |
public function isModuleEnabled($moduleName = null) {
|
17 |
if ((int) Mage::getStoreConfig(self::XML_PATH_ACTIVE, Mage::app()->getStore()) != 1) {
|
18 |
return false;
|
44 |
return (float) Mage::getStoreConfig(self::XML_PATH_INTEREST_VALUE, $store);
|
45 |
}
|
46 |
|
|
|
|
|
|
|
|
|
47 |
public function getText($store = null) {
|
48 |
return Mage::getStoreConfig(self::XML_PATH_TEXT_PATTERN, $store);
|
49 |
}
|
56 |
return Mage::getStoreConfig(self::XML_PATH_ADD_JQUERY, $store);
|
57 |
}
|
58 |
|
59 |
+
public function getParcelsValue($value, $interest, $parcel) {
|
60 |
+
$interest = bcdiv($interest, 100, 15);
|
61 |
+
$E = 1.0;
|
62 |
+
$cont = 1.0;
|
|
|
|
|
|
|
63 |
|
64 |
+
for ($i = 1; $i <= $parcel; $i++) {
|
65 |
+
$cont = bcmul($cont, bcadd($interest, 1, 15), 15);
|
66 |
+
$E = bcadd($E, $cont, 15);
|
67 |
+
}
|
68 |
+
|
69 |
+
$E = bcsub($E, $cont, 15);
|
70 |
|
71 |
+
$value = bcmul($value, $cont, 15);
|
72 |
+
return bcdiv($value, $E, 15);
|
73 |
}
|
74 |
|
75 |
public function getPrice($value) {
|
79 |
$finalText = '';
|
80 |
|
81 |
for ($i = 2; $i <= $this->getMaxNumberMonths(); $i++) {
|
82 |
+
$parcel = $this->getParcelsValue($value, $this->getInterest(), $i);
|
|
|
|
|
|
|
|
|
83 |
|
84 |
if ($parcel >= $this->getMinParcelValue()) {
|
85 |
$price = Mage::helper('core')->currency($parcel, true, false);
|
87 |
$finalText = str_replace('{preco}', $price, $replaceText);
|
88 |
}
|
89 |
}
|
90 |
+
|
91 |
$returnHtml = sprintf('<span class="precoparcelado-parcels">%s</span>', $finalText);
|
92 |
+
|
93 |
return $returnHtml;
|
94 |
}
|
95 |
}
|
app/code/community/FranciscoPrado/PrecoParcelado/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<FranciscoPrado_PrecoParcelado>
|
5 |
-
<version>2.0.0.
|
6 |
</FranciscoPrado_PrecoParcelado>
|
7 |
</modules>
|
8 |
<global>
|
@@ -59,13 +59,12 @@
|
|
59 |
<sales>
|
60 |
<franciscoprado_precoparcelado>
|
61 |
<active>1</active>
|
62 |
-
<show_table>
|
63 |
<table_title>Valor das Parcelas</table_title>
|
64 |
<show_price_in_parcels>1</show_price_in_parcels>
|
65 |
<min_quote_value>50</min_quote_value>
|
66 |
<max_number_months>12</max_number_months>
|
67 |
<interest_value>1</interest_value>
|
68 |
-
<use_compound>1</use_compound>
|
69 |
<text_pattern>ou em {parcelas} vezes de {preco}</text_pattern>
|
70 |
<text_table_pattern>{parcelas}x de</text_table_pattern>
|
71 |
<add_jquery>0</add_jquery>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<FranciscoPrado_PrecoParcelado>
|
5 |
+
<version>2.0.0.2</version>
|
6 |
</FranciscoPrado_PrecoParcelado>
|
7 |
</modules>
|
8 |
<global>
|
59 |
<sales>
|
60 |
<franciscoprado_precoparcelado>
|
61 |
<active>1</active>
|
62 |
+
<show_table>0</show_table>
|
63 |
<table_title>Valor das Parcelas</table_title>
|
64 |
<show_price_in_parcels>1</show_price_in_parcels>
|
65 |
<min_quote_value>50</min_quote_value>
|
66 |
<max_number_months>12</max_number_months>
|
67 |
<interest_value>1</interest_value>
|
|
|
68 |
<text_pattern>ou em {parcelas} vezes de {preco}</text_pattern>
|
69 |
<text_table_pattern>{parcelas}x de</text_table_pattern>
|
70 |
<add_jquery>0</add_jquery>
|
app/code/community/FranciscoPrado/PrecoParcelado/etc/system.xml
CHANGED
@@ -78,18 +78,6 @@
|
|
78 |
<show_in_store>0</show_in_store>
|
79 |
<validate>validate-zero-or-greater</validate>
|
80 |
</interest_value>
|
81 |
-
<use_compound>
|
82 |
-
<label>Use Compound Interest?</label>
|
83 |
-
<sort_order>80</sort_order>
|
84 |
-
<frontend_type>select</frontend_type>
|
85 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
86 |
-
<show_in_default>1</show_in_default>
|
87 |
-
<show_in_website>1</show_in_website>
|
88 |
-
<show_in_store>0</show_in_store>
|
89 |
-
<comment>
|
90 |
-
Se Sim, usará fórmula de juros compostos. Se Não, usará a de juros simples.
|
91 |
-
</comment>
|
92 |
-
</use_compound>
|
93 |
<text_pattern>
|
94 |
<label>Text Pattern</label>
|
95 |
<frontend_type>text</frontend_type>
|
78 |
<show_in_store>0</show_in_store>
|
79 |
<validate>validate-zero-or-greater</validate>
|
80 |
</interest_value>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
<text_pattern>
|
82 |
<label>Text Pattern</label>
|
83 |
<frontend_type>text</frontend_type>
|
app/design/frontend/base/default/template/precoparcelado/jsdata.phtml
CHANGED
@@ -7,19 +7,17 @@ $isActive = $helper->isModuleEnabled();
|
|
7 |
$showTable = $helper->showTable();
|
8 |
$minParcel = Mage::helper('franciscoprado_precoparcelado')->getMinParcelValue();
|
9 |
$maxNumberMonths = Mage::helper('franciscoprado_precoparcelado')->getMaxNumberMonths();
|
10 |
-
$useCompound = Mage::helper('franciscoprado_precoparcelado')->useCompound();
|
11 |
$interest = Mage::helper('franciscoprado_precoparcelado')->getInterest();
|
12 |
$text = Mage::helper('franciscoprado_precoparcelado')->getText();
|
13 |
$tableText = Mage::helper('franciscoprado_precoparcelado')->getTableText();
|
14 |
$addJquery = Mage::helper('franciscoprado_precoparcelado')->addJquery();
|
15 |
-
|
16 |
if ($isActive): ?>
|
17 |
<script>
|
18 |
/* preco parcelado */
|
19 |
var showTable = <?php echo $showTable ? 'true' : 'false'; ?>;
|
20 |
var minParcel = <?php echo $minParcel ?>;
|
21 |
var maxNumberMonths = <?php echo $maxNumberMonths ?>;
|
22 |
-
var useCompound = <?php echo $useCompound ? 'true' : 'false' ?>;
|
23 |
var interest = <?php echo $interest ?>;
|
24 |
var ppText = '<?php echo $text ?>';
|
25 |
var ppTableText = '<?php echo $tableText ?>';
|
7 |
$showTable = $helper->showTable();
|
8 |
$minParcel = Mage::helper('franciscoprado_precoparcelado')->getMinParcelValue();
|
9 |
$maxNumberMonths = Mage::helper('franciscoprado_precoparcelado')->getMaxNumberMonths();
|
|
|
10 |
$interest = Mage::helper('franciscoprado_precoparcelado')->getInterest();
|
11 |
$text = Mage::helper('franciscoprado_precoparcelado')->getText();
|
12 |
$tableText = Mage::helper('franciscoprado_precoparcelado')->getTableText();
|
13 |
$addJquery = Mage::helper('franciscoprado_precoparcelado')->addJquery();
|
14 |
+
|
15 |
if ($isActive): ?>
|
16 |
<script>
|
17 |
/* preco parcelado */
|
18 |
var showTable = <?php echo $showTable ? 'true' : 'false'; ?>;
|
19 |
var minParcel = <?php echo $minParcel ?>;
|
20 |
var maxNumberMonths = <?php echo $maxNumberMonths ?>;
|
|
|
21 |
var interest = <?php echo $interest ?>;
|
22 |
var ppText = '<?php echo $text ?>';
|
23 |
var ppTableText = '<?php echo $tableText ?>';
|
app/design/frontend/base/default/template/precoparcelado/table.phtml
CHANGED
@@ -20,11 +20,7 @@ if ($isActive && $showTable):
|
|
20 |
if ($productPrice > $minParcelValue):
|
21 |
for ($i = 2; $i <= $maxNumberMonths; $i++):
|
22 |
|
23 |
-
|
24 |
-
$parcel = $helper->getCompoundInterest($productPrice, $interest, $i);
|
25 |
-
else:
|
26 |
-
$parcel = $helper->getSimpleInterest($productPrice, $interest, $i);
|
27 |
-
endif;
|
28 |
|
29 |
$tableText = str_replace('{parcelas}', $i, $helper->getTableText());
|
30 |
$parcelPrice = Mage::helper('core')->currency($parcel, true, false);
|
20 |
if ($productPrice > $minParcelValue):
|
21 |
for ($i = 2; $i <= $maxNumberMonths; $i++):
|
22 |
|
23 |
+
$parcel = $helper->getParcelsValue($productPrice, $interest, $i);
|
|
|
|
|
|
|
|
|
24 |
|
25 |
$tableText = str_replace('{parcelas}', $i, $helper->getTableText());
|
26 |
$parcelPrice = Mage::helper('core')->currency($parcel, true, false);
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>FranciscoPrado_PrecoParcelado</name>
|
4 |
-
<version>2.0.0.
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Módulo para mostrar o preço do produto em forma de parcelas, que é um tipo de pagamento comum no Brasil.</summary>
|
10 |
-
<description>
|
11 |
-
<notes>
|
12 |
<authors><author><name>Francisco Prado</name><user>fr_prado</user><email>franciscontato@gmail.com</email></author></authors>
|
13 |
-
<date>2014-
|
14 |
-
<time>
|
15 |
-
<contents><target name="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>FranciscoPrado_PrecoParcelado</name>
|
4 |
+
<version>2.0.0.2</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Módulo para mostrar o preço do produto em forma de parcelas, que é um tipo de pagamento comum no Brasil.</summary>
|
10 |
+
<description>Módulo para mostrar o preço do produto em forma de parcelas, que é um tipo de pagamento comum no Brasil.</description>
|
11 |
+
<notes>Correção no modo de cálculo, que passa a usar somente a tabela Price.</notes>
|
12 |
<authors><author><name>Francisco Prado</name><user>fr_prado</user><email>franciscontato@gmail.com</email></author></authors>
|
13 |
+
<date>2014-10-13</date>
|
14 |
+
<time>20:59:48</time>
|
15 |
+
<contents><target name="mageetc"><dir><dir name="modules"><file name="FranciscoPrado_PrecoParcelado.xml" hash="ff2352dd5dcf370b98b77782ac230e5f"/></dir></dir></target><target name="magedesign"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="precoparcelado"><file name="jsdata.phtml" hash="7c05341c50664fc28ee9b5027e5bcc5e"/><file name="table.phtml" hash="66c9a9bd9785ed6fb2689b70b2c8e3c8"/></dir></dir><dir name="layout"><file name="franciscoprado_precoparcelado.xml" hash="2e78e3b82b16ca71f4f678ae89c6930e"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir><dir name="pt_BR"><file name="FranciscoPrado_PrecoParcelado.csv" hash="20d484ae51b10f0bda926502b383a61d"/></dir></dir></target><target name="mageskin"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="js"><file name="precoparcelado.js" hash="9d048b9ee02ef4b9c62b0d0c2b8bb846"/></dir><dir name="css"><file name="precoparcelado.css" hash="8b127443908efc0529ff9953e4d1402e"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir><dir name="FranciscoPrado"><dir name="PrecoParcelado"><dir><dir name="etc"><file name="config.xml" hash="a5c1038b7b7d39a14e7f8142faedb2fd"/><file name="system.xml" hash="7adf1173acb4fe428b02d088bac35ec8"/></dir><dir name="Helper"><file name="Data.php" hash="86b19fe600259fbef62975e04115f9b4"/></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
skin/frontend/base/default/js/precoparcelado.js
CHANGED
@@ -4,30 +4,31 @@ $pp(document).ready(function() {
|
|
4 |
|
5 |
Number.prototype.formatMoney = function(c, d, t) {
|
6 |
var n = this,
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
|
15 |
};
|
16 |
|
17 |
-
var
|
18 |
-
|
19 |
-
var
|
20 |
-
var
|
21 |
|
22 |
-
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
var parcelValue = value * Math.pow((1 + interest), parcels);
|
28 |
-
var parcelValue = parcelValue / parcels;
|
29 |
-
|
30 |
-
return parcelValue;
|
31 |
};
|
32 |
|
33 |
var getPrice = function(value) {
|
@@ -38,21 +39,17 @@ $pp(document).ready(function() {
|
|
38 |
var ppGroupSymbol = optionsPrice.priceFormat.groupSymbol;
|
39 |
var finalText = '';
|
40 |
var tableText = '';
|
41 |
-
|
42 |
for (var i = 2; i <= maxNumberMonths; i++) {
|
43 |
var parcel = 0;
|
44 |
|
45 |
-
|
46 |
-
parcel = getCompoundInterest(value, interest, i);
|
47 |
-
} else {
|
48 |
-
parcel = getSimpleInterest(value, interest, i);
|
49 |
-
}
|
50 |
|
51 |
if (parcel >= minParcel) {
|
52 |
var parcelToCurrency = ppCurrencyFormat + (parcel).formatMoney(2, ppDecimalSymbol, ppGroupSymbol);
|
53 |
finalText = ppText.replace('{preco}', parcelToCurrency);
|
54 |
finalText = finalText.replace('{parcelas}', i);
|
55 |
-
|
56 |
if (showTable) {
|
57 |
tableText += '<tr>';
|
58 |
tableText += '<td>' + ppTableText.replace('{parcelas}', i) + '</td>';
|
@@ -61,7 +58,7 @@ $pp(document).ready(function() {
|
|
61 |
}
|
62 |
}
|
63 |
}
|
64 |
-
|
65 |
$pp('.precoparcelado-parcels').html(finalText);
|
66 |
$pp('.precoparcelado-table tbody').html(tableText);
|
67 |
}
|
@@ -71,7 +68,7 @@ $pp(document).ready(function() {
|
|
71 |
|
72 |
var onPriceChange = function(e) {
|
73 |
var price = optionsPrice.productPrice;
|
74 |
-
|
75 |
// if is configurable product
|
76 |
if (typeof spConfig !== 'undefined') {
|
77 |
for (key in optionsPrice.optionPrices.config) {
|
@@ -85,10 +82,10 @@ $pp(document).ready(function() {
|
|
85 |
price += optionsPrice.customPrices[key].price;
|
86 |
}
|
87 |
}
|
88 |
-
|
89 |
getPrice(price);
|
90 |
};
|
91 |
-
|
92 |
// add the 'change' event listener for each configurable option
|
93 |
// if is configurable product
|
94 |
if (typeof spConfig !== 'undefined') {
|
@@ -101,5 +98,5 @@ $pp(document).ready(function() {
|
|
101 |
$pp('#' + id).on('change', onPriceChange);
|
102 |
}
|
103 |
}
|
104 |
-
|
105 |
});
|
4 |
|
5 |
Number.prototype.formatMoney = function(c, d, t) {
|
6 |
var n = this,
|
7 |
+
c = isNaN(c = Math.abs(c)) ? 2 : c,
|
8 |
+
d = d == undefined ? "." : d,
|
9 |
+
t = t == undefined ? "," : t,
|
10 |
+
s = n < 0 ? "-" : "",
|
11 |
+
i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "",
|
12 |
+
j = (j = i.length) > 3 ? j % 3 : 0;
|
13 |
+
|
14 |
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
|
15 |
};
|
16 |
|
17 |
+
var getParcelsValue = function(value, interest, parcels) {
|
18 |
+
interest = interest / 100;
|
19 |
+
var E = 1.0;
|
20 |
+
var cont = 1.0;
|
21 |
|
22 |
+
for (var i = 1; i <= parcels; i++)
|
23 |
+
{
|
24 |
+
cont = cont * (interest + 1);
|
25 |
+
E = E + cont;
|
26 |
+
}
|
27 |
+
|
28 |
+
E = E - cont;
|
29 |
|
30 |
+
parcel = value * cont;
|
31 |
+
return parcel / E;
|
|
|
|
|
|
|
|
|
32 |
};
|
33 |
|
34 |
var getPrice = function(value) {
|
39 |
var ppGroupSymbol = optionsPrice.priceFormat.groupSymbol;
|
40 |
var finalText = '';
|
41 |
var tableText = '';
|
42 |
+
|
43 |
for (var i = 2; i <= maxNumberMonths; i++) {
|
44 |
var parcel = 0;
|
45 |
|
46 |
+
parcel = getParcelsValue(value, interest, i);
|
|
|
|
|
|
|
|
|
47 |
|
48 |
if (parcel >= minParcel) {
|
49 |
var parcelToCurrency = ppCurrencyFormat + (parcel).formatMoney(2, ppDecimalSymbol, ppGroupSymbol);
|
50 |
finalText = ppText.replace('{preco}', parcelToCurrency);
|
51 |
finalText = finalText.replace('{parcelas}', i);
|
52 |
+
|
53 |
if (showTable) {
|
54 |
tableText += '<tr>';
|
55 |
tableText += '<td>' + ppTableText.replace('{parcelas}', i) + '</td>';
|
58 |
}
|
59 |
}
|
60 |
}
|
61 |
+
|
62 |
$pp('.precoparcelado-parcels').html(finalText);
|
63 |
$pp('.precoparcelado-table tbody').html(tableText);
|
64 |
}
|
68 |
|
69 |
var onPriceChange = function(e) {
|
70 |
var price = optionsPrice.productPrice;
|
71 |
+
|
72 |
// if is configurable product
|
73 |
if (typeof spConfig !== 'undefined') {
|
74 |
for (key in optionsPrice.optionPrices.config) {
|
82 |
price += optionsPrice.customPrices[key].price;
|
83 |
}
|
84 |
}
|
85 |
+
|
86 |
getPrice(price);
|
87 |
};
|
88 |
+
|
89 |
// add the 'change' event listener for each configurable option
|
90 |
// if is configurable product
|
91 |
if (typeof spConfig !== 'undefined') {
|
98 |
$pp('#' + id).on('change', onPriceChange);
|
99 |
}
|
100 |
}
|
101 |
+
|
102 |
});
|