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 +7 -2
- app/code/community/FranciscoPrado/PrecoParcelado/etc/config.xml +2 -1
- app/code/community/FranciscoPrado/PrecoParcelado/etc/system.xml +12 -0
- app/design/frontend/base/default/layout/franciscoprado_precoparcelado.xml +0 -7
- app/design/frontend/base/default/template/precoparcelado/jsdata.phtml +8 -1
- app/locale/pt_BR/FranciscoPrado_PrecoParcelado.csv +2 -1
- package.xml +7 -7
- skin/frontend/base/default/js/precoparcelado.js +9 -4
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 (
|
| 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.
|
| 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.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>OSL v3.0</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
-
<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="magecommunity"><dir name="FranciscoPrado"><dir name="PrecoParcelado"><dir 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>1.1.0.0</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>Com esta extensão é possível você mostrar o preço parcelado do seu produto. Através do painel de administração é possível configurar os modos de exibição (tabela de parcelas ou em texto específico), número de meses, valor do juros, juro simples ou composto, parcela mínima, entre outros.</description>
|
| 11 |
+
<notes>Correções no método Javascript para cálculo em produtos configuráveis e opçã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 |
-
|
| 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 =
|
| 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);
|
