Version Notes
Módulo de cálculo de PAC, Sedex, E-Sedex, Sedex 10, Sedex Hoje e Sedex a Cobrar.
Download this release
Release Info
Developer | Magento Core Team |
Extension | PedroTeixeira_Correios |
Version | 4.0.0 |
Comparing to | |
See all releases |
Version 4.0.0
- app/code/community/PedroTeixeira/Correios/Helper/Data.php +21 -0
- app/code/community/PedroTeixeira/Correios/Model/Carrier/CorreiosMethod.php +565 -0
- app/code/community/PedroTeixeira/Correios/Model/Source/FreeMethods.php +36 -0
- app/code/community/PedroTeixeira/Correios/Model/Source/PostMethods.php +36 -0
- app/code/community/PedroTeixeira/Correios/Model/Source/UrlMethods.php +29 -0
- app/code/community/PedroTeixeira/Correios/Model/Source/WeightType.php +29 -0
- app/code/community/PedroTeixeira/Correios/etc/config.xml +106 -0
- app/code/community/PedroTeixeira/Correios/etc/system.xml +316 -0
- app/code/community/PedroTeixeira/Correios/sql/pedroteixeira_correios_setup/mysql4-install-4.0.0.php +68 -0
- app/etc/modules/PedroTeixeira_Correios.xml +26 -0
- package.xml +33 -0
app/code/community/PedroTeixeira/Correios/Helper/Data.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Pedro Teixeira
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL).
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/osl-3.0.php
|
10 |
+
*
|
11 |
+
* @category PedroTeixeira
|
12 |
+
* @package PedroTeixeira_Correios
|
13 |
+
* @copyright Copyright (c) 2010 Pedro Teixeira (http://www.pteixeira.com.br)
|
14 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
class PedroTeixeira_Correios_Helper_Data extends Mage_Core_Helper_Abstract
|
19 |
+
{
|
20 |
+
|
21 |
+
}
|
app/code/community/PedroTeixeira/Correios/Model/Carrier/CorreiosMethod.php
ADDED
@@ -0,0 +1,565 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Pedro Teixeira
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL).
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/osl-3.0.php
|
10 |
+
*
|
11 |
+
* @category PedroTeixeira
|
12 |
+
* @package PedroTeixeira_Correios
|
13 |
+
* @copyright Copyright (c) 2010 Pedro Teixeira (http://www.pteixeira.com.br)
|
14 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* PedroTeixeira_Correios_Model_Carrier_CorreioMethod
|
20 |
+
*
|
21 |
+
* @category PedroTeixeira
|
22 |
+
* @package PedroTeixeira_Correios
|
23 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
24 |
+
*/
|
25 |
+
|
26 |
+
class ParametersLocaweb { }
|
27 |
+
|
28 |
+
class PedroTeixeira_Correios_Model_Carrier_CorreiosMethod
|
29 |
+
extends Mage_Shipping_Model_Carrier_Abstract
|
30 |
+
implements Mage_Shipping_Model_Carrier_Interface
|
31 |
+
{
|
32 |
+
|
33 |
+
/**
|
34 |
+
* _code property
|
35 |
+
*
|
36 |
+
* @var string
|
37 |
+
*/
|
38 |
+
protected $_code = 'pedroteixeira_correios';
|
39 |
+
|
40 |
+
/**
|
41 |
+
* _result property
|
42 |
+
*
|
43 |
+
* @var Mage_Shipping_Model_Rate_Result / Mage_Shipping_Model_Tracking_Result
|
44 |
+
*/
|
45 |
+
protected $_result = null;
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Check if current carrier offer support to tracking
|
49 |
+
*
|
50 |
+
* @return boolean true
|
51 |
+
*/
|
52 |
+
public function isTrackingAvailable() {
|
53 |
+
return true;
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Collect Rates
|
58 |
+
*
|
59 |
+
* @param Mage_Shipping_Model_Rate_Request $request
|
60 |
+
* @return Mage_Shipping_Model_Rate_Result
|
61 |
+
*/
|
62 |
+
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
|
63 |
+
{
|
64 |
+
if (!$this->getConfigFlag('active'))
|
65 |
+
{
|
66 |
+
//Disabled
|
67 |
+
Mage::log('PedroTeixeira_Correios: Disabled');
|
68 |
+
return false;
|
69 |
+
}
|
70 |
+
|
71 |
+
|
72 |
+
$origCountry = Mage::getStoreConfig('shipping/origin/country_id', $this->getStore());
|
73 |
+
$destCountry = $request->getDestCountryId();
|
74 |
+
if ($origCountry != "BR" || $destCountry != "BR"){
|
75 |
+
//Out of delivery area
|
76 |
+
Mage::log('PedroTeixeira_Correios: Out of delivery area');
|
77 |
+
return false;
|
78 |
+
}
|
79 |
+
|
80 |
+
|
81 |
+
|
82 |
+
$result = Mage::getModel('shipping/rate_result');
|
83 |
+
$error = Mage::getModel('shipping/rate_result_error');
|
84 |
+
|
85 |
+
$error->setCarrier($this->_code);
|
86 |
+
$error->setCarrierTitle($this->getConfigData('title'));
|
87 |
+
|
88 |
+
|
89 |
+
$packagevalue = $request->getBaseCurrency()->convert($request->getPackageValue(), $request->getPackageCurrency());
|
90 |
+
$minorderval = $this->getConfigData('min_order_value');
|
91 |
+
$maxorderval = $this->getConfigData('max_order_value');
|
92 |
+
if($packagevalue <= $minorderval || $packagevalue >= $maxorderval){
|
93 |
+
//Value limits
|
94 |
+
Mage::log('PedroTeixeira_Correios: Value limits');
|
95 |
+
$error->setErrorMessage($this->getConfigData('valueerror'));
|
96 |
+
$result->append($error);
|
97 |
+
return $result;
|
98 |
+
}
|
99 |
+
|
100 |
+
$frompcode = Mage::getStoreConfig('shipping/origin/postcode', $this->getStore());
|
101 |
+
$topcode = $request->getDestPostcode();
|
102 |
+
|
103 |
+
//Fix Zip Code
|
104 |
+
$frompcode = str_replace('-', '', trim($frompcode));
|
105 |
+
$topcode = str_replace('-', '', trim($topcode));
|
106 |
+
|
107 |
+
if(!preg_match("/^([0-9]{8})$/", $topcode))
|
108 |
+
{
|
109 |
+
//Invalid Zip Code
|
110 |
+
Mage::log('PedroTeixeira_Correios: Invalid Zip Code');
|
111 |
+
$error->setErrorMessage($this->getConfigData('zipcodeerror'));
|
112 |
+
$result->append($error);
|
113 |
+
Mage::helper('customer')->__('Invalid ZIP CODE');
|
114 |
+
return $result;
|
115 |
+
}
|
116 |
+
|
117 |
+
|
118 |
+
$sweight = $request->getPackageWeight();
|
119 |
+
$weightCompare = $this->getConfigData('maxweight');
|
120 |
+
|
121 |
+
if($this->getConfigData('weight_type') == 'gr'){
|
122 |
+
$sweight = number_format($sweight/1000, 2, '.', '');
|
123 |
+
$weightCompare = number_format($weightCompare/1000, 2, '.', '');
|
124 |
+
}
|
125 |
+
|
126 |
+
|
127 |
+
if ($sweight > $weightCompare){
|
128 |
+
//Weight exceeded limit
|
129 |
+
Mage::log('PedroTeixeira_Correios: Weight exceeded limit');
|
130 |
+
$error->setErrorMessage($this->getConfigData('maxweighterror'));
|
131 |
+
$result->append($error);
|
132 |
+
return $result;
|
133 |
+
}
|
134 |
+
|
135 |
+
|
136 |
+
if ($sweight == 0){
|
137 |
+
//Weight zero
|
138 |
+
Mage::log('PedroTeixeira_Correios: Weight zero');
|
139 |
+
$error->setErrorMessage($this->getConfigData('weightzeroerror'));
|
140 |
+
$result->append($error);
|
141 |
+
return $result;
|
142 |
+
}
|
143 |
+
|
144 |
+
|
145 |
+
//Create the volume of the cart
|
146 |
+
|
147 |
+
$pesoCubicoTotal = 0;
|
148 |
+
$volumeTotal = 0;
|
149 |
+
|
150 |
+
$items = Mage::getModel('checkout/cart')->getQuote()->getAllItems();
|
151 |
+
|
152 |
+
foreach($items as $item){
|
153 |
+
|
154 |
+
$while = 0;
|
155 |
+
$_product = $item->getProduct();
|
156 |
+
|
157 |
+
if($_product->getData('volume_altura') == '' || (int)$_product->getData('volume_altura') == 0)
|
158 |
+
$itemAltura = $this->getConfigData('altura_padrao');
|
159 |
+
else
|
160 |
+
$itemAltura = $_product->getData('volume_altura');
|
161 |
+
|
162 |
+
if($_product->getData('volume_largura') == '' || (int)$_product->getData('volume_largura') == 0)
|
163 |
+
$itemLargura = $this->getConfigData('largura_padrao');
|
164 |
+
else
|
165 |
+
$itemLargura = $_product->getData('volume_largura');
|
166 |
+
|
167 |
+
if($_product->getData('volume_comprimento') == '' || (int)$_product->getData('volume_comprimento') == 0)
|
168 |
+
$itemComprimento = $this->getConfigData('comprimento_padrao');
|
169 |
+
else
|
170 |
+
$itemComprimento = $_product->getData('volume_comprimento');
|
171 |
+
|
172 |
+
while($while < $item->getQty()){
|
173 |
+
$itemPesoCubico = ($itemAltura * $itemLargura * $itemComprimento)/4800;
|
174 |
+
$pesoCubicoTotal = $pesoCubicoTotal + $itemPesoCubico;
|
175 |
+
$volumeTotal = $volumeTotal + ($itemPesoCubico * 4800);
|
176 |
+
|
177 |
+
$while ++;
|
178 |
+
}
|
179 |
+
}
|
180 |
+
|
181 |
+
if($pesoCubicoTotal > $sweight){
|
182 |
+
$mediaMedidas = round(pow((int)$volumeTotal, (1/3)));
|
183 |
+
$volumeComprimento = (($mediaMedidas < 16) ? 16 : $mediaMedidas);
|
184 |
+
$volumeAltura = (($mediaMedidas < 2) ? 2 : $mediaMedidas);
|
185 |
+
$volumeLargura = (($mediaMedidas < 11) ? 11 : $mediaMedidas);
|
186 |
+
}else{
|
187 |
+
$volumeComprimento = 16;
|
188 |
+
$volumeAltura = 2;
|
189 |
+
$volumeLargura = 11;
|
190 |
+
}
|
191 |
+
|
192 |
+
//Define post method
|
193 |
+
$shipping_methods = array();
|
194 |
+
|
195 |
+
$postmethods = explode(",", $this->getConfigData('postmethods'));
|
196 |
+
|
197 |
+
foreach($postmethods as $methods)
|
198 |
+
{
|
199 |
+
|
200 |
+
switch ($methods){
|
201 |
+
case 0:
|
202 |
+
$shipping_methods["40010"] = array ("Sedex", "3");
|
203 |
+
break;
|
204 |
+
case 1:
|
205 |
+
$shipping_methods["40096"] = array ("Sedex", "3");
|
206 |
+
break;
|
207 |
+
case 2:
|
208 |
+
$shipping_methods["81019"] = array ("E-Sedex", "3");
|
209 |
+
break;
|
210 |
+
case 3:
|
211 |
+
$shipping_methods["41025"] = array ("PAC", "3");
|
212 |
+
break;
|
213 |
+
case 4:
|
214 |
+
$shipping_methods["41106"] = array ("PAC", "3");
|
215 |
+
break;
|
216 |
+
case 5:
|
217 |
+
$shipping_methods["41068"] = array ("PAC", "3");
|
218 |
+
break;
|
219 |
+
case 6:
|
220 |
+
$shipping_methods["40215"] = array ("Sedex 10", "1");
|
221 |
+
break;
|
222 |
+
case 7:
|
223 |
+
$shipping_methods["40290"] = array ("Sedex HOJE", "1");
|
224 |
+
break;
|
225 |
+
case 8:
|
226 |
+
$shipping_methods["40045"] = array ("Sedex a Cobrar", "5");
|
227 |
+
break;
|
228 |
+
}
|
229 |
+
}
|
230 |
+
|
231 |
+
foreach($shipping_methods as $shipping_method => $shipping_values){
|
232 |
+
|
233 |
+
//Define URL method
|
234 |
+
switch ($this->getConfigData('urlmethod')){
|
235 |
+
|
236 |
+
case 1:
|
237 |
+
|
238 |
+
$correiosWSLocaWeb = "http://comercio.locaweb.com.br/correios/frete.asmx?WSDL";
|
239 |
+
|
240 |
+
$soap = @new SoapClient($correiosWSLocaWeb, array(
|
241 |
+
'trace' => true,
|
242 |
+
'exceptions' => true,
|
243 |
+
'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP,
|
244 |
+
'connection_timeout' => 1000
|
245 |
+
));
|
246 |
+
|
247 |
+
// Postagem dos parâmetros
|
248 |
+
$parms = new ParametersLocaweb();
|
249 |
+
$parms->cepOrigem = utf8_encode($frompcode);
|
250 |
+
$parms->cepDestino = utf8_encode($topcode);
|
251 |
+
$parms->peso = utf8_encode(str_replace(".",",",$sweight));
|
252 |
+
$parms->volume = utf8_encode($volumeTotal);
|
253 |
+
$parms->codigo = utf8_encode($shipping_method);
|
254 |
+
|
255 |
+
// Resgata o valor calculado
|
256 |
+
$resposta = $soap->Correios($parms);
|
257 |
+
|
258 |
+
$shippingPrice = floatval(str_replace(",",".",$resposta->CorreiosResult));
|
259 |
+
|
260 |
+
break;
|
261 |
+
|
262 |
+
case 0:
|
263 |
+
|
264 |
+
$filename = "http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx";
|
265 |
+
|
266 |
+
try {
|
267 |
+
$client = new Zend_Http_Client($filename);
|
268 |
+
|
269 |
+
$client->setParameterGet('StrRetorno', 'xml');
|
270 |
+
$client->setParameterGet('nCdServico', $shipping_method);
|
271 |
+
$client->setParameterGet('nVlPeso', $sweight);
|
272 |
+
$client->setParameterGet('sCepOrigem', $frompcode);
|
273 |
+
$client->setParameterGet('sCepDestino', $topcode);
|
274 |
+
$client->setParameterGet('nCdFormato',1);
|
275 |
+
$client->setParameterGet('nVlComprimento',$volumeComprimento);
|
276 |
+
$client->setParameterGet('nVlAltura',$volumeAltura);
|
277 |
+
$client->setParameterGet('nVlLargura',$volumeLargura);
|
278 |
+
if($this->getConfigData('mao_propria'))
|
279 |
+
$client->setParameterGet('sCdMaoPropria','S');
|
280 |
+
else
|
281 |
+
$client->setParameterGet('sCdMaoPropria','N');
|
282 |
+
|
283 |
+
if($this->getConfigData('aviso_recebimento'))
|
284 |
+
$client->setParameterGet('sCdAvisoRecebimento','S');
|
285 |
+
else
|
286 |
+
$client->setParameterGet('sCdAvisoRecebimento','N');
|
287 |
+
|
288 |
+
if($this->getConfigData('valor_declarado') || $shipping_method == 40045)
|
289 |
+
$client->setParameterGet('nVlValorDeclarado',number_format($packagevalue, 2, ',', '.'));
|
290 |
+
else
|
291 |
+
$client->setParameterGet('nVlValorDeclarado',0);
|
292 |
+
|
293 |
+
|
294 |
+
|
295 |
+
if($shipping_method == 40096 || $shipping_method == 81019 || $shipping_method == 41068){
|
296 |
+
if($this->getConfigData('cod_admin') == '' || $this->getConfigData('senha_admin') == ''){
|
297 |
+
// Need correios admin data
|
298 |
+
Mage::log('PedroTeixeira_Correios: Need correios admin data');
|
299 |
+
$error->setErrorMessage($this->getConfigData('coderror'));
|
300 |
+
$result->append($error);
|
301 |
+
return $result;
|
302 |
+
}else{
|
303 |
+
$client->setParameterGet('nCdEmpresa',$this->getConfigData('cod_admin'));
|
304 |
+
$client->setParameterGet('sDsSenha',$this->getConfigData('senha_admin'));
|
305 |
+
}
|
306 |
+
}
|
307 |
+
|
308 |
+
$content = $client->request();
|
309 |
+
$conteudo = $content->getBody();
|
310 |
+
|
311 |
+
if (!stristr($conteudo, "<?xml")){
|
312 |
+
throw new Exception("Not XML returned.");
|
313 |
+
}
|
314 |
+
|
315 |
+
} catch (Exception $e) {
|
316 |
+
//URL Error
|
317 |
+
Mage::log('PedroTeixeira_Correios: URL Error');
|
318 |
+
$error = Mage::getModel('shipping/rate_result_error');
|
319 |
+
$error->setCarrier($this->_code);
|
320 |
+
$error->setCarrierTitle($this->getConfigData('title'));
|
321 |
+
$error->setMethod($shipping_method);
|
322 |
+
$error->setErrorMessage($this->getConfigData('urlerror'));
|
323 |
+
$result->append($error);
|
324 |
+
$shippingPrice = 0;
|
325 |
+
|
326 |
+
continue;
|
327 |
+
};
|
328 |
+
|
329 |
+
preg_match_all("/<Codigo>(.+)<\/Codigo>/", $conteudo, $xml_servico);
|
330 |
+
preg_match_all("/<Valor>(.+)<\/Valor>/", $conteudo, $preco_postal);
|
331 |
+
preg_match_all("/<PrazoEntrega>(.+)<\/PrazoEntrega>/", $conteudo, $prazo_postal);
|
332 |
+
preg_match_all("/<Erro>(.+)<\/Erro>/", $conteudo, $err_id);
|
333 |
+
$err_id = str_replace('-', '', $err_id[1][0]);
|
334 |
+
$err_id = (int)$err_id;
|
335 |
+
preg_match_all("/<MsgErro>(.+)<\/MsgErro>/", $conteudo, $err_msg);
|
336 |
+
|
337 |
+
|
338 |
+
$correiosReturn = array(
|
339 |
+
"prazo" => $prazo_postal[1][0]
|
340 |
+
);
|
341 |
+
|
342 |
+
if(trim($err_id) == "0"){
|
343 |
+
$shippingPrice = floatval(str_replace(",",".",$preco_postal[1][0]));
|
344 |
+
}else{
|
345 |
+
|
346 |
+
$ignorar = explode(',',$this->getConfigData('ignorar_erro'));
|
347 |
+
$ignorar = array_flip($ignorar);
|
348 |
+
if(!array_key_exists($err_id, $ignorar)){
|
349 |
+
//Error
|
350 |
+
$error = Mage::getModel('shipping/rate_result_error');
|
351 |
+
$error->setCarrier($this->_code);
|
352 |
+
$error->setCarrierTitle($this->getConfigData('title'));
|
353 |
+
$error->setMethod($shipping_method);
|
354 |
+
|
355 |
+
// Correios Error
|
356 |
+
Mage::log('PedroTeixeira_Correios: Correios Error');
|
357 |
+
$error->setErrorMessage(sprintf($this->getConfigData('correioserror'), $shipping_values[0], $err_msg[1][0], $err_id));
|
358 |
+
$result->append($error);
|
359 |
+
$shippingPrice = 0;
|
360 |
+
}else{
|
361 |
+
$shippingPrice = 0;
|
362 |
+
}
|
363 |
+
}
|
364 |
+
|
365 |
+
|
366 |
+
break;
|
367 |
+
default:
|
368 |
+
//URL method undefined
|
369 |
+
Mage::log('PedroTeixeira_Correios: URL method undefined');
|
370 |
+
$error->setErrorMessage($this->getConfigData('urlerror'));
|
371 |
+
$result->append($error);
|
372 |
+
return $result;
|
373 |
+
}
|
374 |
+
|
375 |
+
if($shippingPrice <= 0){
|
376 |
+
continue;
|
377 |
+
}
|
378 |
+
|
379 |
+
$method = Mage::getModel('shipping/rate_result_method');
|
380 |
+
|
381 |
+
$method->setCarrier($this->_code);
|
382 |
+
$method->setCarrierTitle($this->getConfigData('title'));
|
383 |
+
|
384 |
+
$method->setMethod($shipping_method);
|
385 |
+
|
386 |
+
if ($this->getConfigFlag('prazo_entrega')){
|
387 |
+
|
388 |
+
if(isset($correiosReturn)){
|
389 |
+
if($correiosReturn['prazo'] > 0){
|
390 |
+
$method->setMethodTitle(sprintf($this->getConfigData('msgprazo'), $shipping_values[0], (int)$correiosReturn['prazo'] + $this->getConfigData('add_prazo')));
|
391 |
+
}else{
|
392 |
+
$method->setMethodTitle(sprintf($this->getConfigData('msgprazo'), $shipping_values[0], $shipping_values[1] + $this->getConfigData('add_prazo')));
|
393 |
+
}
|
394 |
+
}else{
|
395 |
+
$method->setMethodTitle(sprintf($this->getConfigData('msgprazo'), $shipping_values[0], $shipping_values[1] + $this->getConfigData('add_prazo')));
|
396 |
+
}
|
397 |
+
|
398 |
+
}else{
|
399 |
+
$method->setMethodTitle($shipping_values[0]);
|
400 |
+
}
|
401 |
+
|
402 |
+
$method->setPrice($shippingPrice + $this->getConfigData('handling_fee'));
|
403 |
+
|
404 |
+
$method->setCost($shippingPrice);
|
405 |
+
|
406 |
+
$result->append($method);
|
407 |
+
|
408 |
+
$shippingPrice = null;
|
409 |
+
|
410 |
+
}
|
411 |
+
|
412 |
+
$this->_result = $result;
|
413 |
+
|
414 |
+
$this->_updateFreeMethodQuote($request);
|
415 |
+
|
416 |
+
return $this->_result;
|
417 |
+
}
|
418 |
+
|
419 |
+
/**
|
420 |
+
* Get Tracking Info
|
421 |
+
*
|
422 |
+
* @param mixed $tracking
|
423 |
+
* @return mixed
|
424 |
+
*/
|
425 |
+
public function getTrackingInfo($tracking) {
|
426 |
+
$result = $this->getTracking($tracking);
|
427 |
+
if ($result instanceof Mage_Shipping_Model_Tracking_Result){
|
428 |
+
if ($trackings = $result->getAllTrackings()) {
|
429 |
+
return $trackings[0];
|
430 |
+
}
|
431 |
+
} elseif (is_string($result) && !empty($result)) {
|
432 |
+
return $result;
|
433 |
+
}
|
434 |
+
|
435 |
+
return false;
|
436 |
+
}
|
437 |
+
|
438 |
+
/**
|
439 |
+
* Get Tracking
|
440 |
+
*
|
441 |
+
* @param array $trackings
|
442 |
+
* @return Mage_Shipping_Model_Tracking_Result
|
443 |
+
*/
|
444 |
+
public function getTracking($trackings) {
|
445 |
+
$this->_result = Mage::getModel('shipping/tracking_result');
|
446 |
+
foreach ((array) $trackings as $code) {
|
447 |
+
$this->_getTracking($code);
|
448 |
+
}
|
449 |
+
return $this->_result;
|
450 |
+
}
|
451 |
+
|
452 |
+
/**
|
453 |
+
* Protected Get Tracking, opens the request to Correios
|
454 |
+
*
|
455 |
+
* @param string $code
|
456 |
+
* @return boolean
|
457 |
+
*/
|
458 |
+
protected function _getTracking($code) {
|
459 |
+
$error = Mage::getModel('shipping/tracking_result_error');
|
460 |
+
$error->setTracking($code);
|
461 |
+
$error->setCarrier($this->_code);
|
462 |
+
$error->setCarrierTitle($this->getConfigData('title'));
|
463 |
+
$error->setErrorMessage($this->getConfigData('urlerror'));
|
464 |
+
|
465 |
+
$url = 'http://websro.correios.com.br/sro_bin/txect01$.QueryList';
|
466 |
+
$url .= '?P_LINGUA=001&P_TIPO=001&P_COD_UNI=' . $code;
|
467 |
+
try {
|
468 |
+
$client = new Zend_Http_Client();
|
469 |
+
$client->setUri($url);
|
470 |
+
$content = $client->request();
|
471 |
+
$body = $content->getBody();
|
472 |
+
} catch (Exception $e) {
|
473 |
+
$this->_result->append($error);
|
474 |
+
return false;
|
475 |
+
}
|
476 |
+
|
477 |
+
if (!preg_match('#<table ([^>]+)>(.*?)</table>#is', $body, $matches)) {
|
478 |
+
$this->_result->append($error);
|
479 |
+
return false;
|
480 |
+
}
|
481 |
+
$table = $matches[2];
|
482 |
+
|
483 |
+
if (!preg_match_all('/<tr>(.*)<\/tr>/i', $table, $columns, PREG_SET_ORDER)) {
|
484 |
+
$this->_result->append($error);
|
485 |
+
return false;
|
486 |
+
}
|
487 |
+
|
488 |
+
$progress = array();
|
489 |
+
for ($i = 0; $i < count($columns); $i++) {
|
490 |
+
$column = $columns[$i][1];
|
491 |
+
|
492 |
+
$description = '';
|
493 |
+
$found = false;
|
494 |
+
if (preg_match('/<td rowspan="?2"?/i', $column) && preg_match('/<td rowspan="?2"?>(.*)<\/td><td>(.*)<\/td><td><font color="[A-Z0-9]{6}">(.*)<\/font><\/td>/i', $column, $matches)) {
|
495 |
+
if (preg_match('/<td colspan="?2"?>(.*)<\/td>/i', $columns[$i+1][1], $matchesDescription)) {
|
496 |
+
$description = str_replace(' ', '', $matchesDescription[1]);
|
497 |
+
}
|
498 |
+
|
499 |
+
$found = true;
|
500 |
+
} elseif (preg_match('/<td rowspan="?1"?>(.*)<\/td><td>(.*)<\/td><td><font color="[A-Z0-9]{6}">(.*)<\/font><\/td>/i', $column, $matches)) {
|
501 |
+
$found = true;
|
502 |
+
}
|
503 |
+
|
504 |
+
if ($found) {
|
505 |
+
$datetime = split(' ', $matches[1]);
|
506 |
+
|
507 |
+
$locale = new Zend_Locale('pt_BR');
|
508 |
+
$date='';
|
509 |
+
$date = new Zend_Date($datetime[0], 'dd/MM/YYYY', $locale);
|
510 |
+
|
511 |
+
$track = array(
|
512 |
+
'deliverydate' => $date->toString('YYYY-MM-dd'),
|
513 |
+
'deliverytime' => $datetime[1] . ':00',
|
514 |
+
'deliverylocation' => htmlentities($matches[2]),
|
515 |
+
'status' => htmlentities($matches[3]),
|
516 |
+
'activity' => htmlentities($matches[3])
|
517 |
+
);
|
518 |
+
|
519 |
+
if ($description !== '') {
|
520 |
+
$track['activity'] = $matches[3] . ' - ' . htmlentities($description);
|
521 |
+
}
|
522 |
+
|
523 |
+
$progress[] = $track;
|
524 |
+
}
|
525 |
+
}
|
526 |
+
|
527 |
+
if (!empty($progress)) {
|
528 |
+
$track = $progress[0];
|
529 |
+
$track['progressdetail'] = $progress;
|
530 |
+
|
531 |
+
$tracking = Mage::getModel('shipping/tracking_result_status');
|
532 |
+
$tracking->setTracking($code);
|
533 |
+
$tracking->setCarrier('correios');
|
534 |
+
$tracking->setCarrierTitle($this->getConfigData('title'));
|
535 |
+
$tracking->addData($track);
|
536 |
+
|
537 |
+
$this->_result->append($tracking);
|
538 |
+
return true;
|
539 |
+
} else {
|
540 |
+
$this->_result->append($error);
|
541 |
+
return false;
|
542 |
+
}
|
543 |
+
}
|
544 |
+
|
545 |
+
/**
|
546 |
+
* Returns the allowed carrier methods
|
547 |
+
*
|
548 |
+
* @return array
|
549 |
+
*/
|
550 |
+
public function getAllowedMethods()
|
551 |
+
{
|
552 |
+
return array($this->_code => $this->getConfigData('title'));
|
553 |
+
}
|
554 |
+
|
555 |
+
/**
|
556 |
+
* Define ZIP Code as required
|
557 |
+
*
|
558 |
+
* @return boolean
|
559 |
+
*/
|
560 |
+
public function isZipCodeRequired()
|
561 |
+
{
|
562 |
+
return true;
|
563 |
+
}
|
564 |
+
|
565 |
+
}
|
app/code/community/PedroTeixeira/Correios/Model/Source/FreeMethods.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Pedro Teixeira
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL).
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/osl-3.0.php
|
10 |
+
*
|
11 |
+
* @category PedroTeixeira
|
12 |
+
* @package PedroTeixeira_Correios
|
13 |
+
* @copyright Copyright (c) 2010 Pedro Teixeira (http://www.pteixeira.com.br)
|
14 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
class PedroTeixeira_Correios_Model_Source_FreeMethods
|
19 |
+
{
|
20 |
+
|
21 |
+
public function toOptionArray()
|
22 |
+
{
|
23 |
+
return array(
|
24 |
+
array('value'=>40010, 'label'=>Mage::helper('adminhtml')->__('Sedex Sem Contrato (Correios)')),
|
25 |
+
array('value'=>40096, 'label'=>Mage::helper('adminhtml')->__('Sedex Com Contrato (Correios/Locaweb)')),
|
26 |
+
array('value'=>81019, 'label'=>Mage::helper('adminhtml')->__('E-Sedex Com Contrato (Correios/Locaweb)')),
|
27 |
+
array('value'=>41025, 'label'=>Mage::helper('adminhtml')->__('PAC Normal (Locaweb)')),
|
28 |
+
array('value'=>41106, 'label'=>Mage::helper('adminhtml')->__('PAC Sem Contrato (Correios)')),
|
29 |
+
array('value'=>41068, 'label'=>Mage::helper('adminhtml')->__('PAC Com Contrato (Correios/Locaweb)')),
|
30 |
+
array('value'=>40215, 'label'=>Mage::helper('adminhtml')->__('Sedex 10 (Correios)')),
|
31 |
+
array('value'=>40290, 'label'=>Mage::helper('adminhtml')->__('Sedex HOJE (Correios)')),
|
32 |
+
array('value'=>40045, 'label'=>Mage::helper('adminhtml')->__('Sedex a Cobrar (Correios)')),
|
33 |
+
);
|
34 |
+
}
|
35 |
+
|
36 |
+
}
|
app/code/community/PedroTeixeira/Correios/Model/Source/PostMethods.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Pedro Teixeira
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL).
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/osl-3.0.php
|
10 |
+
*
|
11 |
+
* @category PedroTeixeira
|
12 |
+
* @package PedroTeixeira_Correios
|
13 |
+
* @copyright Copyright (c) 2010 Pedro Teixeira (http://www.pteixeira.com.br)
|
14 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
class PedroTeixeira_Correios_Model_Source_PostMethods
|
19 |
+
{
|
20 |
+
|
21 |
+
public function toOptionArray()
|
22 |
+
{
|
23 |
+
return array(
|
24 |
+
array('value'=>0, 'label'=>Mage::helper('adminhtml')->__('Sedex Sem Contrato (Correios)')),
|
25 |
+
array('value'=>1, 'label'=>Mage::helper('adminhtml')->__('Sedex Com Contrato (Correios/Locaweb)')),
|
26 |
+
array('value'=>2, 'label'=>Mage::helper('adminhtml')->__('E-Sedex Com Contrato (Correios/Locaweb)')),
|
27 |
+
array('value'=>3, 'label'=>Mage::helper('adminhtml')->__('PAC Normal (Locaweb)')),
|
28 |
+
array('value'=>4, 'label'=>Mage::helper('adminhtml')->__('PAC Sem Contrato (Correios)')),
|
29 |
+
array('value'=>5, 'label'=>Mage::helper('adminhtml')->__('PAC Com Contrato (Correios/Locaweb)')),
|
30 |
+
array('value'=>6, 'label'=>Mage::helper('adminhtml')->__('Sedex 10 (Correios)')),
|
31 |
+
array('value'=>7, 'label'=>Mage::helper('adminhtml')->__('Sedex HOJE (Correios)')),
|
32 |
+
array('value'=>8, 'label'=>Mage::helper('adminhtml')->__('Sedex a Cobrar (Correios)')),
|
33 |
+
);
|
34 |
+
}
|
35 |
+
|
36 |
+
}
|
app/code/community/PedroTeixeira/Correios/Model/Source/UrlMethods.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Pedro Teixeira
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL).
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/osl-3.0.php
|
10 |
+
*
|
11 |
+
* @category PedroTeixeira
|
12 |
+
* @package PedroTeixeira_Correios
|
13 |
+
* @copyright Copyright (c) 2010 Pedro Teixeira (http://www.pteixeira.com.br)
|
14 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
class PedroTeixeira_Correios_Model_Source_UrlMethods
|
19 |
+
{
|
20 |
+
|
21 |
+
public function toOptionArray()
|
22 |
+
{
|
23 |
+
return array(
|
24 |
+
array('value'=>1, 'label'=>Mage::helper('adminhtml')->__('Locaweb')),
|
25 |
+
array('value'=>0, 'label'=>Mage::helper('adminhtml')->__('Correios')),
|
26 |
+
);
|
27 |
+
}
|
28 |
+
|
29 |
+
}
|
app/code/community/PedroTeixeira/Correios/Model/Source/WeightType.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Pedro Teixeira
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL).
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/osl-3.0.php
|
10 |
+
*
|
11 |
+
* @category PedroTeixeira
|
12 |
+
* @package PedroTeixeira_Correios
|
13 |
+
* @copyright Copyright (c) 2010 Pedro Teixeira (http://www.pteixeira.com.br)
|
14 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
class PedroTeixeira_Correios_Model_Source_WeightType
|
19 |
+
{
|
20 |
+
|
21 |
+
public function toOptionArray()
|
22 |
+
{
|
23 |
+
return array(
|
24 |
+
array('value'=>'gr', 'label'=>Mage::helper('adminhtml')->__('Gramas')),
|
25 |
+
array('value'=>'kg', 'label'=>Mage::helper('adminhtml')->__('Kilos')),
|
26 |
+
);
|
27 |
+
}
|
28 |
+
|
29 |
+
}
|
app/code/community/PedroTeixeira/Correios/etc/config.xml
ADDED
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Pedro Teixeira
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL).
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* @category PedroTeixeira
|
13 |
+
* @package PedroTeixeira_Correios
|
14 |
+
* @copyright Copyright (c) 2010 Pedro Teixeira (http://www.pteixeira.com.br)
|
15 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<modules>
|
21 |
+
<PedroTeixeira_Correios>
|
22 |
+
<version>4.0.0</version>
|
23 |
+
<depends>
|
24 |
+
<Mage_Shipping />
|
25 |
+
</depends>
|
26 |
+
</PedroTeixeira_Correios>
|
27 |
+
</modules>
|
28 |
+
<global>
|
29 |
+
<sales>
|
30 |
+
<quote>
|
31 |
+
<item>
|
32 |
+
<product_attributes>
|
33 |
+
<volume_altura/>
|
34 |
+
<volume_comprimento/>
|
35 |
+
<volume_largura/>
|
36 |
+
</product_attributes>
|
37 |
+
</item>
|
38 |
+
</quote>
|
39 |
+
</sales>
|
40 |
+
<models>
|
41 |
+
<pedroteixeira_correios>
|
42 |
+
<class>PedroTeixeira_Correios_Model</class>
|
43 |
+
</pedroteixeira_correios>
|
44 |
+
</models>
|
45 |
+
<resources>
|
46 |
+
<pedroteixeira_correios_setup>
|
47 |
+
<setup>
|
48 |
+
<module>PedroTeixeira_Correios</module>
|
49 |
+
</setup>
|
50 |
+
<connection>
|
51 |
+
<use>directory_setup</use>
|
52 |
+
</connection>
|
53 |
+
</pedroteixeira_correios_setup>
|
54 |
+
</resources>
|
55 |
+
<helpers>
|
56 |
+
<pedroteixeira_correios>
|
57 |
+
<class>PedroTeixeira_Correios_Helper</class>
|
58 |
+
</pedroteixeira_correios>
|
59 |
+
</helpers>
|
60 |
+
<sales>
|
61 |
+
<shipping>
|
62 |
+
<carriers>
|
63 |
+
<pedroteixeira_correios>
|
64 |
+
<class>PedroTeixeira_Correios_Model_Carrier_CorreiosMethod</class>
|
65 |
+
</pedroteixeira_correios>
|
66 |
+
</carriers>
|
67 |
+
</shipping>
|
68 |
+
</sales>
|
69 |
+
</global>
|
70 |
+
|
71 |
+
<default>
|
72 |
+
<carriers>
|
73 |
+
<pedroteixeira_correios>
|
74 |
+
<active>1</active>
|
75 |
+
<model>PedroTeixeira_Correios_Model_Carrier_CorreiosMethod</model>
|
76 |
+
<title>Correios</title>
|
77 |
+
<mao_propria>0</mao_propria>
|
78 |
+
<aviso_recebimento>0</aviso_recebimento>
|
79 |
+
<valor_declarado>0</valor_declarado>
|
80 |
+
<ignorar_erro>1,2,5,6,7,10,36,37,38,99</ignorar_erro>
|
81 |
+
<altura_padrao>2</altura_padrao>
|
82 |
+
<comprimento_padrao>16</comprimento_padrao>
|
83 |
+
<largura_padrao>11</largura_padrao>
|
84 |
+
<postmethods>0</postmethods>
|
85 |
+
<prazo_entrega>0</prazo_entrega>
|
86 |
+
<min_order_value>0</min_order_value>
|
87 |
+
<max_order_value>500</max_order_value>
|
88 |
+
<urlmethod>0</urlmethod>
|
89 |
+
<weight_type>kg</weight_type>
|
90 |
+
<maxweight>30</maxweight>
|
91 |
+
<handling_fee>0</handling_fee>
|
92 |
+
<add_prazo>0</add_prazo>
|
93 |
+
<msgprazo>%s - Em média %d dia(s)</msgprazo>
|
94 |
+
<free_method>40010</free_method>
|
95 |
+
<correioserror>%s - Houve um erro inesperado, por favor entre em contato. %s (Cod. %d)</correioserror>
|
96 |
+
<valueerror>Valor de compra a cima do permitido pelos Correios. Por favor entre em contato conosco.</valueerror>
|
97 |
+
<zipcodeerror>Por favor, corrija o CEP digitado, ele não está correto.</zipcodeerror>
|
98 |
+
<maxweighterror>Peso dos produtos a cima do permitido pelos Correios. Por favor entre em contato conosco.</maxweighterror>
|
99 |
+
<weightzeroerror>Lojista: O peso do produto deverá ser maior que zero. Se você está usando a media de peso como gramas, o peso mínimo é de 10 gramas.</weightzeroerror>
|
100 |
+
<urlerror>Esse método de envio está fora do ar. Por favor entre em contato conosco.</urlerror>
|
101 |
+
<coderror>Lojista: Para calcular esse serviço você precisa ter contrato com os Correios.</coderror>
|
102 |
+
<showmethod>0</showmethod>
|
103 |
+
</pedroteixeira_correios>
|
104 |
+
</carriers>
|
105 |
+
</default>
|
106 |
+
</config>
|
app/code/community/PedroTeixeira/Correios/etc/system.xml
ADDED
@@ -0,0 +1,316 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Pedro Teixeira
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL).
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* @category PedroTeixeira
|
13 |
+
* @package PedroTeixeira_Correios
|
14 |
+
* @copyright Copyright (c) 2010 Pedro Teixeira (http://www.pteixeira.com.br)
|
15 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<sections>
|
21 |
+
<carriers>
|
22 |
+
<groups>
|
23 |
+
<pedroteixeira_correios translate="label" module="pedroteixeira_correios">
|
24 |
+
<label>Correios - Pedro Teixeira</label>
|
25 |
+
<frontend_type>text</frontend_type>
|
26 |
+
<sort_order>1</sort_order>
|
27 |
+
<show_in_default>1</show_in_default>
|
28 |
+
<show_in_website>1</show_in_website>
|
29 |
+
<show_in_store>1</show_in_store>
|
30 |
+
<comment>
|
31 |
+
<![CDATA[
|
32 |
+
<div>
|
33 |
+
<br />
|
34 |
+
<strong style="font-size:14px">Informações Importantes</strong><br /><br />
|
35 |
+
Você pode tirar dúvidas ou sugerir melhorias do módulo através do site <a href="http://www.pteixeira.com.br/" target="_blank">www.pteixeira.com.br</a>.<br /><br />
|
36 |
+
Na versão 4.0.0 o módulo de cálculo de frete conta com instalação automática dos atributos de volume, SEDEX a Cobrar, opção de configurar o formato do peso de seus produtos,
|
37 |
+
correção do problema de getBody(), correção do problema de ereg(), nova forma de passar o volume para cálculo do PAC, log de erros e outras funcionalidades.<br /><br />
|
38 |
+
Para um bom funcionamento do módulo, é necessário que você configure os serviços que deseja disponibilizar em sua loja e escolher a fonte de cálculo de acordo com os serviços habilitados.
|
39 |
+
Por exemplo, se você habilitar "Sedex Com Contrato (Correios)" lembre-se de configurar a fonte de cálculo como Correios, já se habilitar "PAC Normal (Locaweb)" lembre-se de configurar a fonte como "Locaweb".<br /><br />
|
40 |
+
Lembre-se de configurar as "Definições de Envio" no menu ao lado esquerdo.<br /><br />
|
41 |
+
Para serviços que tenham em seu nome "Com Contrato", é necessário configurar o "Código Administrativo dos Correios" e "Senha Administrativa dos Correios".<br /><br />
|
42 |
+
A lista completa de códigos de erros está disponibilizada no site do desenvolvedor.<br /><br />
|
43 |
+
<b>Importante:</b> Para utilização da função de tracking é necessário corrigir alguns erros do próprio Magento, veja mais informações no site do desenvolvedor.
|
44 |
+
<br /><br /><hr /><br /><br />
|
45 |
+
</div>
|
46 |
+
]]>
|
47 |
+
</comment>
|
48 |
+
<fields>
|
49 |
+
<active translate="label">
|
50 |
+
<label>Habilitar</label>
|
51 |
+
<frontend_type>select</frontend_type>
|
52 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
53 |
+
<sort_order>10</sort_order>
|
54 |
+
<show_in_default>1</show_in_default>
|
55 |
+
<show_in_website>1</show_in_website>
|
56 |
+
<show_in_store>1</show_in_store>
|
57 |
+
</active>
|
58 |
+
<title translate="label">
|
59 |
+
<label>Nome do Meio de Entrega</label>
|
60 |
+
<frontend_type>text</frontend_type>
|
61 |
+
<sort_order>15</sort_order>
|
62 |
+
<show_in_default>1</show_in_default>
|
63 |
+
<show_in_website>1</show_in_website>
|
64 |
+
<show_in_store>1</show_in_store>
|
65 |
+
</title>
|
66 |
+
<postmethods translate="label">
|
67 |
+
<label>Serviços</label>
|
68 |
+
<frontend_type>multiselect</frontend_type>
|
69 |
+
<source_model>PedroTeixeira_Correios_Model_Source_PostMethods</source_model>
|
70 |
+
<sort_order>20</sort_order>
|
71 |
+
<show_in_default>1</show_in_default>
|
72 |
+
<show_in_website>1</show_in_website>
|
73 |
+
<show_in_store>1</show_in_store>
|
74 |
+
<comment>Serviços que estarão disponíveis, lembre-se de usar os serviços correspondentes a fonte configurada.</comment>
|
75 |
+
</postmethods>
|
76 |
+
<urlmethod translate="label">
|
77 |
+
<label>Fonte de Cálculo</label>
|
78 |
+
<frontend_type>select</frontend_type>
|
79 |
+
<source_model>PedroTeixeira_Correios_Model_Source_UrlMethods</source_model>
|
80 |
+
<sort_order>30</sort_order>
|
81 |
+
<show_in_default>1</show_in_default>
|
82 |
+
<show_in_website>1</show_in_website>
|
83 |
+
<show_in_store>1</show_in_store>
|
84 |
+
<comment>Ative apenas os serviços relativos a fonte.</comment>
|
85 |
+
</urlmethod>
|
86 |
+
<weight_type translate="label">
|
87 |
+
<label>Formato do Peso</label>
|
88 |
+
<frontend_type>select</frontend_type>
|
89 |
+
<source_model>PedroTeixeira_Correios_Model_Source_WeightType</source_model>
|
90 |
+
<sort_order>30</sort_order>
|
91 |
+
<show_in_default>1</show_in_default>
|
92 |
+
<show_in_website>1</show_in_website>
|
93 |
+
<show_in_store>1</show_in_store>
|
94 |
+
<comment>Formato do peso dos produtos.</comment>
|
95 |
+
</weight_type>
|
96 |
+
<prazo_entrega translate="label">
|
97 |
+
<label>Exibir Prazo de Entrega</label>
|
98 |
+
<frontend_type>select</frontend_type>
|
99 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
100 |
+
<sort_order>40</sort_order>
|
101 |
+
<show_in_default>1</show_in_default>
|
102 |
+
<show_in_website>1</show_in_website>
|
103 |
+
<show_in_store>1</show_in_store>
|
104 |
+
</prazo_entrega>
|
105 |
+
<cod_admin translate="label">
|
106 |
+
<label>Código Administrativo dos Correios (Serviços Com Contrato)</label>
|
107 |
+
<frontend_type>text</frontend_type>
|
108 |
+
<sort_order>61</sort_order>
|
109 |
+
<show_in_default>1</show_in_default>
|
110 |
+
<show_in_website>1</show_in_website>
|
111 |
+
<show_in_store>1</show_in_store>
|
112 |
+
</cod_admin>
|
113 |
+
<senha_admin translate="label">
|
114 |
+
<label>Senha Administrativa dos Correios (Serviços Com Contrato)</label>
|
115 |
+
<frontend_type>text</frontend_type>
|
116 |
+
<sort_order>62</sort_order>
|
117 |
+
<show_in_default>1</show_in_default>
|
118 |
+
<show_in_website>1</show_in_website>
|
119 |
+
<show_in_store>1</show_in_store>
|
120 |
+
<comment>O padrão de senha são os 8 primeiros dígitos do CNPJ</comment>
|
121 |
+
</senha_admin>
|
122 |
+
<mao_propria translate="label">
|
123 |
+
<label>Utilizar Serviço de Mão Própria</label>
|
124 |
+
<frontend_type>select</frontend_type>
|
125 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
126 |
+
<sort_order>63</sort_order>
|
127 |
+
<show_in_default>1</show_in_default>
|
128 |
+
<show_in_website>1</show_in_website>
|
129 |
+
<show_in_store>1</show_in_store>
|
130 |
+
</mao_propria>
|
131 |
+
<aviso_recebimento translate="label">
|
132 |
+
<label>Utilizar Serviço de Aviso de Recebimento</label>
|
133 |
+
<frontend_type>select</frontend_type>
|
134 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
135 |
+
<sort_order>64</sort_order>
|
136 |
+
<show_in_default>1</show_in_default>
|
137 |
+
<show_in_website>1</show_in_website>
|
138 |
+
<show_in_store>1</show_in_store>
|
139 |
+
</aviso_recebimento>
|
140 |
+
<valor_declarado translate="label">
|
141 |
+
<label>Utilizar Serviço de Valor Declarado</label>
|
142 |
+
<frontend_type>select</frontend_type>
|
143 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
144 |
+
<sort_order>65</sort_order>
|
145 |
+
<show_in_default>1</show_in_default>
|
146 |
+
<show_in_website>1</show_in_website>
|
147 |
+
<show_in_store>1</show_in_store>
|
148 |
+
</valor_declarado>
|
149 |
+
<ignorar_erro translate="label">
|
150 |
+
<label>Ignorar os seguintes erros dos Correios</label>
|
151 |
+
<frontend_type>text</frontend_type>
|
152 |
+
<sort_order>66</sort_order>
|
153 |
+
<show_in_default>1</show_in_default>
|
154 |
+
<show_in_website>1</show_in_website>
|
155 |
+
<show_in_store>1</show_in_store>
|
156 |
+
<comment>Códigos separados por vírgula.</comment>
|
157 |
+
</ignorar_erro>
|
158 |
+
<altura_padrao translate="label">
|
159 |
+
<label>Altura Padrão (cm)</label>
|
160 |
+
<frontend_type>text</frontend_type>
|
161 |
+
<sort_order>70</sort_order>
|
162 |
+
<show_in_default>1</show_in_default>
|
163 |
+
<show_in_website>1</show_in_website>
|
164 |
+
<show_in_store>1</show_in_store>
|
165 |
+
<comment><![CDATA[Quando não configurada no produto será usada.<br />Mínimo de 2 cm.]]></comment>
|
166 |
+
</altura_padrao>
|
167 |
+
<comprimento_padrao translate="label">
|
168 |
+
<label>Comprimento Padrão (cm)</label>
|
169 |
+
<frontend_type>text</frontend_type>
|
170 |
+
<sort_order>80</sort_order>
|
171 |
+
<show_in_default>1</show_in_default>
|
172 |
+
<show_in_website>1</show_in_website>
|
173 |
+
<show_in_store>1</show_in_store>
|
174 |
+
<comment><![CDATA[Quando não configurado no produto será usado.<br />Mínimo de 16 cm.]]></comment>
|
175 |
+
</comprimento_padrao>
|
176 |
+
<largura_padrao translate="label">
|
177 |
+
<label>Largura Padrão (cm)</label>
|
178 |
+
<frontend_type>text</frontend_type>
|
179 |
+
<sort_order>90</sort_order>
|
180 |
+
<show_in_default>1</show_in_default>
|
181 |
+
<show_in_website>1</show_in_website>
|
182 |
+
<show_in_store>1</show_in_store>
|
183 |
+
<comment><![CDATA[Quando não configurada no produto será usada.<br />Mínimo de 11 cm.]]></comment>
|
184 |
+
</largura_padrao>
|
185 |
+
<min_order_value translate="label">
|
186 |
+
<label>Valor Mínimo de Compra</label>
|
187 |
+
<frontend_type>text</frontend_type>
|
188 |
+
<sort_order>100</sort_order>
|
189 |
+
<show_in_default>1</show_in_default>
|
190 |
+
<show_in_website>1</show_in_website>
|
191 |
+
<show_in_store>1</show_in_store>
|
192 |
+
</min_order_value>
|
193 |
+
<max_order_value translate="label">
|
194 |
+
<label>Valor Máximo de Compra</label>
|
195 |
+
<frontend_type>text</frontend_type>
|
196 |
+
<sort_order>110</sort_order>
|
197 |
+
<show_in_default>1</show_in_default>
|
198 |
+
<show_in_website>1</show_in_website>
|
199 |
+
<show_in_store>1</show_in_store>
|
200 |
+
</max_order_value>
|
201 |
+
<maxweight translate="label">
|
202 |
+
<label>Peso Máximo Permitido Pelos Correios</label>
|
203 |
+
<frontend_type>text</frontend_type>
|
204 |
+
<sort_order>120</sort_order>
|
205 |
+
<show_in_default>1</show_in_default>
|
206 |
+
<show_in_website>1</show_in_website>
|
207 |
+
<show_in_store>1</show_in_store>
|
208 |
+
<comment>Utilize o mesmo formato de peso configurado no módulo, kilos ou gramas.</comment>
|
209 |
+
</maxweight>
|
210 |
+
<handling_fee translate="label">
|
211 |
+
<label>Taxa de Postagem</label>
|
212 |
+
<frontend_type>text</frontend_type>
|
213 |
+
<sort_order>130</sort_order>
|
214 |
+
<show_in_default>1</show_in_default>
|
215 |
+
<show_in_website>1</show_in_website>
|
216 |
+
<show_in_store>1</show_in_store>
|
217 |
+
<comment>Essa taxa será adicionada ao valor do frete.</comment>
|
218 |
+
</handling_fee>
|
219 |
+
<add_prazo translate="label">
|
220 |
+
<label>Adicionar ao prazo dos Correios (dias)</label>
|
221 |
+
<frontend_type>text</frontend_type>
|
222 |
+
<sort_order>131</sort_order>
|
223 |
+
<show_in_default>1</show_in_default>
|
224 |
+
<show_in_website>1</show_in_website>
|
225 |
+
<show_in_store>1</show_in_store>
|
226 |
+
<comment>Adicionará mais dias aos prazos fornecidos pelos Correios.</comment>
|
227 |
+
</add_prazo>
|
228 |
+
<correioserror translate="label">
|
229 |
+
<label>Mensagem que exibe os erros dos Correios</label>
|
230 |
+
<frontend_type>text</frontend_type>
|
231 |
+
<sort_order>135</sort_order>
|
232 |
+
<show_in_default>1</show_in_default>
|
233 |
+
<show_in_website>1</show_in_website>
|
234 |
+
<show_in_store>1</show_in_store>
|
235 |
+
</correioserror>
|
236 |
+
<msgprazo translate="label">
|
237 |
+
<label>Mensagem que exibe o prazo de entrega</label>
|
238 |
+
<frontend_type>text</frontend_type>
|
239 |
+
<sort_order>140</sort_order>
|
240 |
+
<show_in_default>1</show_in_default>
|
241 |
+
<show_in_website>1</show_in_website>
|
242 |
+
<show_in_store>1</show_in_store>
|
243 |
+
</msgprazo>
|
244 |
+
<free_method translate="label">
|
245 |
+
<label>Serviço para entrega gratuita</label>
|
246 |
+
<frontend_type>select</frontend_type>
|
247 |
+
<frontend_class>free-method</frontend_class>
|
248 |
+
<source_model>PedroTeixeira_Correios_Model_Source_FreeMethods</source_model>
|
249 |
+
<sort_order>150</sort_order>
|
250 |
+
<show_in_default>1</show_in_default>
|
251 |
+
<show_in_website>1</show_in_website>
|
252 |
+
<show_in_store>1</show_in_store>
|
253 |
+
<comment>Quando usar um cupom oferecendo frete gratuito, qual serviço será gratuito. Lembre-se de habilitar o serviço.</comment>
|
254 |
+
</free_method>
|
255 |
+
<valueerror translate="label">
|
256 |
+
<label>Mensagem de valor fora do permitido</label>
|
257 |
+
<frontend_type>textarea</frontend_type>
|
258 |
+
<sort_order>160</sort_order>
|
259 |
+
<show_in_default>1</show_in_default>
|
260 |
+
<show_in_website>1</show_in_website>
|
261 |
+
<show_in_store>1</show_in_store>
|
262 |
+
</valueerror>
|
263 |
+
<zipcodeerror translate="label">
|
264 |
+
<label>Mensagem de CEP incorreto</label>
|
265 |
+
<frontend_type>textarea</frontend_type>
|
266 |
+
<sort_order>170</sort_order>
|
267 |
+
<show_in_default>1</show_in_default>
|
268 |
+
<show_in_website>1</show_in_website>
|
269 |
+
<show_in_store>1</show_in_store>
|
270 |
+
</zipcodeerror>
|
271 |
+
<maxweighterror translate="label">
|
272 |
+
<label>Mensagem de peso fora do permitido</label>
|
273 |
+
<frontend_type>textarea</frontend_type>
|
274 |
+
<sort_order>180</sort_order>
|
275 |
+
<show_in_default>1</show_in_default>
|
276 |
+
<show_in_website>1</show_in_website>
|
277 |
+
<show_in_store>1</show_in_store>
|
278 |
+
</maxweighterror>
|
279 |
+
<weightzeroerror translate="label">
|
280 |
+
<label>Mensagem de peso zero</label>
|
281 |
+
<frontend_type>textarea</frontend_type>
|
282 |
+
<sort_order>185</sort_order>
|
283 |
+
<show_in_default>1</show_in_default>
|
284 |
+
<show_in_website>1</show_in_website>
|
285 |
+
<show_in_store>1</show_in_store>
|
286 |
+
</weightzeroerror>
|
287 |
+
<urlerror translate="label">
|
288 |
+
<label>Mensagem de URL fora do ar ou fonte não selecionada</label>
|
289 |
+
<frontend_type>textarea</frontend_type>
|
290 |
+
<sort_order>190</sort_order>
|
291 |
+
<show_in_default>1</show_in_default>
|
292 |
+
<show_in_website>1</show_in_website>
|
293 |
+
<show_in_store>1</show_in_store>
|
294 |
+
</urlerror>
|
295 |
+
<coderror translate="label">
|
296 |
+
<label>Mensagem de falta de Código Administrativo</label>
|
297 |
+
<frontend_type>textarea</frontend_type>
|
298 |
+
<sort_order>191</sort_order>
|
299 |
+
<show_in_default>1</show_in_default>
|
300 |
+
<show_in_website>1</show_in_website>
|
301 |
+
<show_in_store>1</show_in_store>
|
302 |
+
</coderror>
|
303 |
+
<sort_order translate="label">
|
304 |
+
<label>Ordenar por</label>
|
305 |
+
<frontend_type>text</frontend_type>
|
306 |
+
<sort_order>230</sort_order>
|
307 |
+
<show_in_default>1</show_in_default>
|
308 |
+
<show_in_website>1</show_in_website>
|
309 |
+
<show_in_store>1</show_in_store>
|
310 |
+
</sort_order>
|
311 |
+
</fields>
|
312 |
+
</pedroteixeira_correios>
|
313 |
+
</groups>
|
314 |
+
</carriers>
|
315 |
+
</sections>
|
316 |
+
</config>
|
app/code/community/PedroTeixeira/Correios/sql/pedroteixeira_correios_setup/mysql4-install-4.0.0.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Pedro Teixeira
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL).
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/osl-3.0.php
|
10 |
+
*
|
11 |
+
* @category PedroTeixeira
|
12 |
+
* @package PedroTeixeira_Correios
|
13 |
+
* @copyright Copyright (c) 2010 Pedro Teixeira (http://www.pteixeira.com.br)
|
14 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
$installer = $this;
|
19 |
+
|
20 |
+
/* @var $installer Mage_Catalog_Model_Resource_Eav_Mysql4_Setup */
|
21 |
+
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
|
22 |
+
|
23 |
+
$installer->startSetup();
|
24 |
+
|
25 |
+
// Adiciona o volume como atributo do produto
|
26 |
+
$codigo = 'volume_comprimento';
|
27 |
+
$config = array(
|
28 |
+
'position' => 1,
|
29 |
+
'required'=> 0,
|
30 |
+
'label' => 'Comprimento (cm)',
|
31 |
+
'type' => 'int',
|
32 |
+
'input'=>'text',
|
33 |
+
'apply_to'=>'simple,bundle,grouped,configurable',
|
34 |
+
'note'=>'Comprimento da embalagem do produto (Para cálculo de PAC, mínimo de 16)'
|
35 |
+
);
|
36 |
+
|
37 |
+
$setup->addAttribute('catalog_product', $codigo , $config);
|
38 |
+
|
39 |
+
// Adiciona o volume como atributo do produto
|
40 |
+
$codigo = 'volume_altura';
|
41 |
+
$config = array(
|
42 |
+
'position' => 1,
|
43 |
+
'required'=> 0,
|
44 |
+
'label' => 'Altura (cm)',
|
45 |
+
'type' => 'int',
|
46 |
+
'input'=>'text',
|
47 |
+
'apply_to'=>'simple,bundle,grouped,configurable',
|
48 |
+
'note'=>'Altura da embalagem do produto (Para cálculo de PAC, mínimo de 2)'
|
49 |
+
);
|
50 |
+
|
51 |
+
$setup->addAttribute('catalog_product', $codigo , $config);
|
52 |
+
|
53 |
+
// Adiciona o volume como atributo do produto
|
54 |
+
$codigo = 'volume_largura';
|
55 |
+
$config = array(
|
56 |
+
'position' => 1,
|
57 |
+
'required'=> 0,
|
58 |
+
'label' => 'Largura (cm)',
|
59 |
+
'type' => 'int',
|
60 |
+
'input'=>'text',
|
61 |
+
'apply_to'=>'simple,bundle,grouped,configurable',
|
62 |
+
'note'=>'Largura da embalagem do produto (Para cálculo de PAC, mínimo de 11)'
|
63 |
+
);
|
64 |
+
|
65 |
+
$setup->addAttribute('catalog_product', $codigo , $config);
|
66 |
+
|
67 |
+
$installer->endSetup();
|
68 |
+
?>
|
app/etc/modules/PedroTeixeira_Correios.xml
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Pedro Teixeira
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL).
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* @category PedroTeixeira
|
13 |
+
* @package PedroTeixeira_Correios
|
14 |
+
* @copyright Copyright (c) 2010 Pedro Teixeira (http://www.pteixeira.com.br)
|
15 |
+
* @author Pedro Teixeira <pedro@pteixeira.com.br>
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<modules>
|
21 |
+
<PedroTeixeira_Correios>
|
22 |
+
<active>true</active>
|
23 |
+
<codePool>community</codePool>
|
24 |
+
</PedroTeixeira_Correios>
|
25 |
+
</modules>
|
26 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>PedroTeixeira_Correios</name>
|
4 |
+
<version>4.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license>GNU General Public License (GPL)</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Módulo de cálculo de PAC, Sedex, E-Sedex, Sedex 10, Sedex Hoje e Sedex a Cobrar.</summary>
|
10 |
+
<description>Módulo totalmente compatível com o novo WebService dos Correios. Também é integrado com o WebService de cálculo de frete da Locaweb e hoje conta com os seguintes serviços:
|
11 |
+
|
12 |
+
- Sedex Sem Contrato
|
13 |
+
- Sedex Com Contrato
|
14 |
+
- E-Sedex Com Contrato
|
15 |
+
- PAC Sem Contrato
|
16 |
+
- PAC Com Contrato
|
17 |
+
- Sedex 10
|
18 |
+
- Sedex HOJE
|
19 |
+
- Sedex a Cobrar
|
20 |
+
|
21 |
+
Conta com identificação de erros dos Correios, função de ignorar determinados erros, mão própria, aviso de recebimento, valor declarado, captura do prazo de entrega dos Correios, adicionar mais dias ao prazo dos Correios, identifica o volume dos produtos por atributo e Tracking em tempo real.
|
22 |
+
|
23 |
+
Na nova versão conta com instalação automatica dos atributos de volume, correção dos erros de getBody() e ereg(), configuração do formato de peso, nova forma de passar o volume para cálculo de PAC, log de erros e outras funcionalidades.
|
24 |
+
|
25 |
+
Mais informações em http://www.pteixeira.com.br</description>
|
26 |
+
<notes>Módulo de cálculo de PAC, Sedex, E-Sedex, Sedex 10, Sedex Hoje e Sedex a Cobrar.</notes>
|
27 |
+
<authors><author><name>Pedro Teixeira</name><user>auto-converted</user><email>teixeira.pedro@gmail.com</email></author></authors>
|
28 |
+
<date>2010-05-02</date>
|
29 |
+
<time>21:25:32</time>
|
30 |
+
<contents><target name="mage"><dir name="app"><dir name="etc"><dir name="modules"><file name="PedroTeixeira_Correios.xml" hash="f00c1a1ffcf9a08f67dbbdbd96da4eaf"/></dir></dir></dir></target><target name="magecommunity"><dir name="PedroTeixeira"><dir name="Correios"><dir name="etc"><file name="config.xml" hash="0b252ab5e22b204bb1b98f6d460f93f0"/><file name="system.xml" hash="53cecd039e5a003646cbfb4d26a9b8a8"/></dir><dir name="Helper"><file name="Data.php" hash="b1f56c64ef8b9fb7e8b26df9b4e44b3d"/></dir><dir name="Model"><dir name="Carrier"><file name="CorreiosMethod.php" hash="a52e4cb27a50a96e3b0170b11a03d962"/></dir><dir name="Source"><file name="FreeMethods.php" hash="4af2696b931eb73c4d8dfe53893a3a25"/><file name="PostMethods.php" hash="4ba41466c7e594e2d0aa3e14a0147d19"/><file name="UrlMethods.php" hash="02bf735b441af7bf9266632a978b0e62"/><file name="WeightType.php" hash="e77ee1d2fed0c623064dfc539e2ab8fe"/></dir></dir><dir name="sql"><dir name="pedroteixeira_correios_setup"><file name="mysql4-install-4.0.0.php" hash="85c10b59b0b09ef0347887d5c4b8a16d"/></dir></dir></dir></dir></target></contents>
|
31 |
+
<compatible/>
|
32 |
+
<dependencies/>
|
33 |
+
</package>
|