FranciscoPrado_PrecoParcelado - Version 1.1.0.0

Version Notes

Correções no método Javascript para cálculo em produtos configuráveis e opção no admin para carregamento de jQuery externo.

Download this release

Release Info

Developer Francisco Prado
Extension FranciscoPrado_PrecoParcelado
Version 1.1.0.0
Comparing to
See all releases


Code changes from version 1.0.0.0 to 1.1.0.0

app/code/community/FranciscoPrado/PrecoParcelado/Helper/Data.php CHANGED
@@ -12,7 +12,8 @@ class FranciscoPrado_PrecoParcelado_Helper_Data extends Mage_Core_Helper_Abstrac
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
-
 
16
  public function isModuleEnabled($moduleName = null) {
17
  if ((int) Mage::getStoreConfig(self::XML_PATH_ACTIVE, Mage::app()->getStore()) != 1) {
18
  return false;
@@ -41,7 +42,7 @@ class FranciscoPrado_PrecoParcelado_Helper_Data extends Mage_Core_Helper_Abstrac
41
  }
42
 
43
  public function getInterest($store = null) {
44
- return (int) Mage::getStoreConfig(self::XML_PATH_INTEREST_VALUE, $store);
45
  }
46
 
47
  public function useCompound($store = null) {
@@ -56,6 +57,10 @@ class FranciscoPrado_PrecoParcelado_Helper_Data extends Mage_Core_Helper_Abstrac
56
  return Mage::getStoreConfig(self::XML_PATH_TABLE_TEXT_PATTERN, $store);
57
  }
58
 
 
 
 
 
59
  public function getSimpleInterest($value, $interest, $parcels) {
60
  $interest = $interest / 100;
61
  $m = $value * (1 + $interest * $parcels);
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;
42
  }
43
 
44
  public function getInterest($store = null) {
45
+ return (float) Mage::getStoreConfig(self::XML_PATH_INTEREST_VALUE, $store);
46
  }
47
 
48
  public function useCompound($store = null) {
57
  return Mage::getStoreConfig(self::XML_PATH_TABLE_TEXT_PATTERN, $store);
58
  }
59
 
60
+ public function addJquery($store = null) {
61
+ return Mage::getStoreConfig(self::XML_PATH_ADD_JQUERY, $store);
62
+ }
63
+
64
  public function getSimpleInterest($value, $interest, $parcels) {
65
  $interest = $interest / 100;
66
  $m = $value * (1 + $interest * $parcels);
app/code/community/FranciscoPrado/PrecoParcelado/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <FranciscoPrado_PrecoParcelado>
5
- <version>1.0.0.0</version>
6
  </FranciscoPrado_PrecoParcelado>
7
  </modules>
8
  <global>
@@ -68,6 +68,7 @@
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
  </franciscoprado_precoparcelado>
72
  </sales>
73
  </default>
2
  <config>
3
  <modules>
4
  <FranciscoPrado_PrecoParcelado>
5
+ <version>1.1.0.0</version>
6
  </FranciscoPrado_PrecoParcelado>
7
  </modules>
8
  <global>
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>
72
  </franciscoprado_precoparcelado>
73
  </sales>
74
  </default>
app/code/community/FranciscoPrado/PrecoParcelado/etc/system.xml CHANGED
@@ -112,6 +112,18 @@
112
  O {parcelas} é necessário e substituirá pela quantidade de parcelas na apresentação.
113
  </comment>
114
  </text_table_pattern>
 
 
 
 
 
 
 
 
 
 
 
 
115
  </fields>
116
  </franciscoprado_precoparcelado>
117
  </groups>
112
  O {parcelas} é necessário e substituirá pela quantidade de parcelas na apresentação.
113
  </comment>
114
  </text_table_pattern>
115
+ <add_jquery>
116
+ <label>Add jQuery?</label>
117
+ <sort_order>110</sort_order>
118
+ <frontend_type>select</frontend_type>
119
+ <source_model>adminhtml/system_config_source_yesno</source_model>
120
+ <show_in_default>1</show_in_default>
121
+ <show_in_website>1</show_in_website>
122
+ <show_in_store>0</show_in_store>
123
+ <comment>
124
+ Selecione Sim se o seu projeto/tema não usa jQuery - pois para cálculo de preço parcelado de produtos configurados ele será usado. Caso já tenha, selecione Não.
125
+ </comment>
126
+ </add_jquery>
127
  </fields>
128
  </franciscoprado_precoparcelado>
129
  </groups>
app/design/frontend/base/default/layout/franciscoprado_precoparcelado.xml CHANGED
@@ -8,13 +8,6 @@
8
  <params><![CDATA[media="all"]]></params>
9
  </action>
10
  </reference>
11
- <reference name="head">
12
- <action method="addItem">
13
- <type>skin_js</type>
14
- <script>js/precoparcelado.js</script>
15
- <params><![CDATA[name="precoparcelado"]]></params>
16
- </action>
17
- </reference>
18
  <reference name="product.info.extrahint">
19
  <block type="core/template" name="precoparcelado.table" template="precoparcelado/table.phtml" before="-" />
20
  </reference>
8
  <params><![CDATA[media="all"]]></params>
9
  </action>
10
  </reference>
 
 
 
 
 
 
 
11
  <reference name="product.info.extrahint">
12
  <block type="core/template" name="precoparcelado.table" template="precoparcelado/table.phtml" before="-" />
13
  </reference>
app/design/frontend/base/default/template/precoparcelado/jsdata.phtml CHANGED
@@ -11,7 +11,8 @@ $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
-
 
15
  if ($isActive): ?>
16
  <script>
17
  /* preco parcelado */
@@ -24,4 +25,10 @@ if ($isActive): ?>
24
  var ppTableText = '<?php echo $tableText ?>';
25
  var ppId = '<?php echo Mage::registry('current_product')->getId() ?>';
26
  </script>
 
 
 
 
 
 
27
  <?php endif; ?>
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 */
25
  var ppTableText = '<?php echo $tableText ?>';
26
  var ppId = '<?php echo Mage::registry('current_product')->getId() ?>';
27
  </script>
28
+ <?php
29
+ if ($addJquery):
30
+ ?>
31
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
32
+ <?php endif; ?>
33
+ <script src="<?php echo $this->getSkinUrl('js/precoparcelado.js') ?>"></script>
34
  <?php endif; ?>
app/locale/pt_BR/FranciscoPrado_PrecoParcelado.csv CHANGED
@@ -7,4 +7,5 @@
7
  "Interest Value", "Valor do Juros"
8
  "Use Compound Interest?", "Usar Juros Compostos?"
9
  "Text Pattern", "Padrão do Texto"
10
- "Table Text Pattern", "Padrão do Texto da Tabela"
 
7
  "Interest Value", "Valor do Juros"
8
  "Use Compound Interest?", "Usar Juros Compostos?"
9
  "Text Pattern", "Padrão do Texto"
10
+ "Table Text Pattern", "Padrão do Texto da Tabela"
11
+ "Add jQuery?", "Adicionar jQuery?"
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>FranciscoPrado_PrecoParcelado</name>
4
- <version>1.0.0.0</version>
5
  <stability>stable</stability>
6
  <license>OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>Extens&#xE3;o para exibir o pre&#xE7;o do produto em parcelas.</summary>
10
- <description>Extens&#xE3;o para exibir o pre&#xE7;o do produto em parcelas. &#xC9; poss&#xED;vel alterar a configura&#xE7;&#xE3;o, como o tipo de exibi&#xE7;&#xE3;o (em tabelas e ao lado do pre&#xE7;o), taxa de juros, f&#xF3;rmula de juros, valor m&#xED;nimo da parcela, n&#xFA;mero de meses, entre outros.</description>
11
- <notes>Primeira vers&#xE3;o do m&#xF3;dulo Pre&#xE7;o Parcelado.</notes>
12
  <authors><author><name>Francisco Prado</name><user>fr_prado</user><email>franciscontato@gmail.com</email></author></authors>
13
- <date>2014-07-18</date>
14
- <time>18:49:07</time>
15
- <contents><target name="magecommunity"><dir name="FranciscoPrado"><dir name="PrecoParcelado"><dir name="Helper"><file name="Data.php" hash="16d18971431f3704effdcb7169b996a9"/></dir><dir name="etc"><file name="config.xml" hash="c070d790f9c5c3dd0ac5e5d02fa3fcfb"/><file name="system.xml" hash="c1fe5af2a805155827a2d2e25c1d2ce4"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="franciscoprado_precoparcelado.xml" hash="87ff7075401208ff78a9d8bc115a9970"/></dir><dir name="template"><dir name="precoparcelado"><file name="jsdata.phtml" hash="dc3f3dcd822fb2389324eae6e23cccc2"/><file name="table.phtml" hash="5375174d15dc910bf48cff5f55c88eed"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="FranciscoPrado_PrecoParcelado.xml" hash="ff2352dd5dcf370b98b77782ac230e5f"/></dir></target><target name="magelocale"><dir name="pt_BR"><file name="FranciscoPrado_PrecoParcelado.csv" hash="aa2537735fc8e2225a78db58767e719a"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="precoparcelado.css" hash="8b127443908efc0529ff9953e4d1402e"/></dir><dir name="js"><file name="precoparcelado.js" hash="de65fa886a758dfb00caafba5b577bed"/></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>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>FranciscoPrado_PrecoParcelado</name>
4
+ <version>1.1.0.0</version>
5
  <stability>stable</stability>
6
  <license>OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>M&#xF3;dulo para mostrar o pre&#xE7;o do produto em forma de parcelas, que &#xE9; um tipo de pagamento comum no Brasil.</summary>
10
+ <description>Com esta extens&#xE3;o &#xE9; poss&#xED;vel voc&#xEA; mostrar o pre&#xE7;o parcelado do seu produto. Atrav&#xE9;s do painel de administra&#xE7;&#xE3;o &#xE9; poss&#xED;vel configurar os modos de exibi&#xE7;&#xE3;o (tabela de parcelas ou em texto espec&#xED;fico), n&#xFA;mero de meses, valor do juros, juro simples ou composto, parcela m&#xED;nima, entre outros.</description>
11
+ <notes>Corre&#xE7;&#xF5;es no m&#xE9;todo Javascript para c&#xE1;lculo em produtos configur&#xE1;veis e op&#xE7;&#xE3;o no admin para carregamento de jQuery externo.</notes>
12
  <authors><author><name>Francisco Prado</name><user>fr_prado</user><email>franciscontato@gmail.com</email></author></authors>
13
+ <date>2014-08-06</date>
14
+ <time>02:20:09</time>
15
+ <contents><target name="magecommunity"><dir name="FranciscoPrado"><dir name="PrecoParcelado"><dir name="etc"><file name="config.xml" hash="06ee31dcc94bd4b39faa90277748269c"/><file name="system.xml" hash="dcf2d6a5c24cb16d191a96eb04ceb0b9"/></dir><dir name="Helper"><file name="Data.php" hash="5b7d4cccefd84b8f1095179ea7120cb4"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="franciscoprado_precoparcelado.xml" hash="2e78e3b82b16ca71f4f678ae89c6930e"/></dir><dir name="template"><dir name="precoparcelado"><file name="jsdata.phtml" hash="c1cbd480b4839ac5681d58f7090f46f9"/><file name="table.phtml" hash="5375174d15dc910bf48cff5f55c88eed"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="FranciscoPrado_PrecoParcelado.xml" hash="ff2352dd5dcf370b98b77782ac230e5f"/></dir></target><target name="magelocale"><dir name="pt_BR"><file name="FranciscoPrado_PrecoParcelado.csv" hash="20d484ae51b10f0bda926502b383a61d"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="precoparcelado.css" hash="8b127443908efc0529ff9953e4d1402e"/></dir><dir name="js"><file name="precoparcelado.js" hash="b196d04a0062ecbde3bf82a2b95c65da"/></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
@@ -15,7 +15,7 @@ $pp(document).ready(function() {
15
  };
16
 
17
  var getSimpleInterest = function(value, interest, parcels) {
18
- interest = interest / 100;
19
  var m = value * (1 + interest * parcels);
20
  var parcelValue = m / parcels;
21
 
@@ -23,10 +23,12 @@ $pp(document).ready(function() {
23
  };
24
 
25
  var getCompoundInterest = function(value, interest, parcels) {
 
 
26
  interest = interest / 100;
27
  var parcelValue = value * Math.pow((1 + interest), parcels);
28
  var parcelValue = parcelValue / parcels;
29
-
30
  return parcelValue;
31
  };
32
 
@@ -74,10 +76,13 @@ $pp(document).ready(function() {
74
  var ppCurrencyFormat = optionsPrice.priceFormat.pattern.replace('%s', '');
75
  var ppDecimalSymbol = optionsPrice.priceFormat.decimalSymbol;
76
  var ppGroupSymbol = optionsPrice.priceFormat.groupSymbol;
77
- var ppCurrent = new Number(
78
- ppTotalPrice.replace(ppCurrencyFormat, '').replace(ppDecimalSymbol, '.').replace(ppGroupSymbol, ''));
79
 
 
 
80
  getPrice(ppCurrent);
 
 
81
  };
82
 
83
  $pp('*[name^=super_attribute], *[name^=options]').on('change', onPriceChange);
15
  };
16
 
17
  var getSimpleInterest = function(value, interest, parcels) {
18
+ interest = interest / 100;
19
  var m = value * (1 + interest * parcels);
20
  var parcelValue = m / parcels;
21
 
23
  };
24
 
25
  var getCompoundInterest = function(value, interest, parcels) {
26
+ console.log(value,interest,parcels)
27
+
28
  interest = interest / 100;
29
  var parcelValue = value * Math.pow((1 + interest), parcels);
30
  var parcelValue = parcelValue / parcels;
31
+
32
  return parcelValue;
33
  };
34
 
76
  var ppCurrencyFormat = optionsPrice.priceFormat.pattern.replace('%s', '');
77
  var ppDecimalSymbol = optionsPrice.priceFormat.decimalSymbol;
78
  var ppGroupSymbol = optionsPrice.priceFormat.groupSymbol;
79
+ var ppCurrent = parseFloat(ppTotalPrice.replace(ppCurrencyFormat, '').replace(ppDecimalSymbol, '.').replace(ppGroupSymbol, '.'));
 
80
 
81
+ console.log(ppTotalPrice, ppCurrencyFormat, ppDecimalSymbol, ppGroupSymbol);
82
+ console.log(ppCurrent);
83
  getPrice(ppCurrent);
84
+
85
+ console.log(ppTotalPrice, ppCurrent);
86
  };
87
 
88
  $pp('*[name^=super_attribute], *[name^=options]').on('change', onPriceChange);