Version Notes
Improved compatibility with different checkout address-setups.
Download this release
Release Info
Developer | Magento Core Team |
Extension | PostcodeNl_Api |
Version | 1.0.2.0 |
Comparing to | |
See all releases |
Code changes from version 1.0.1.0 to 1.0.2.0
- app/code/community/PostcodeNl/Api/controllers/JsonController.php +26 -22
- app/code/community/PostcodeNl/Api/etc/system.xml +13 -0
- app/design/frontend/default/default/template/postcodenl/api/jsinit.phtml +1 -0
- app/locale/en_US/PostcodeNl_Api.csv +3 -0
- app/locale/nl_NL/PostcodeNl_Api.csv +3 -0
- js/postcodenl/api/lookup.js +52 -14
- package.xml +6 -6
app/code/community/PostcodeNl/Api/controllers/JsonController.php
CHANGED
@@ -34,33 +34,37 @@ class PostcodeNl_Api_JsonController extends Mage_Core_Controller_Front_Action
|
|
34 |
|
35 |
$response = json_decode($jsonResponse, true);
|
36 |
|
|
|
37 |
if ($serviceShowcase)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
{
|
39 |
-
|
40 |
}
|
41 |
else
|
42 |
{
|
43 |
-
|
44 |
-
|
45 |
-
switch ($response['exceptionId'])
|
46 |
-
{
|
47 |
-
case 'PostcodeNl_Service_PostcodeAddress_NotFoundException':
|
48 |
-
echo json_encode(array('message' => $this->__('Unknown postcode + housenumber combination.')));
|
49 |
-
break;
|
50 |
-
default:
|
51 |
-
echo json_encode(array('message' => $this->__('Validation failed.')));
|
52 |
-
break;
|
53 |
-
}
|
54 |
-
}
|
55 |
-
else if (is_array($response) && isset($response['postcode']))
|
56 |
-
{
|
57 |
-
echo $jsonResponse;
|
58 |
-
}
|
59 |
-
else
|
60 |
-
{
|
61 |
-
echo json_encode(array('message' => $this->__('Validation failed.')));
|
62 |
-
}
|
63 |
}
|
|
|
64 |
}
|
65 |
-
|
66 |
}
|
34 |
|
35 |
$response = json_decode($jsonResponse, true);
|
36 |
|
37 |
+
$sendResponse = array();
|
38 |
if ($serviceShowcase)
|
39 |
+
$sendResponse['showcaseResponse'] = $response;
|
40 |
+
|
41 |
+
if (is_array($response) && isset($response['exceptionId']))
|
42 |
+
{
|
43 |
+
switch ($response['exceptionId'])
|
44 |
+
{
|
45 |
+
case 'PostcodeNl_Controller_Address_InvalidPostcodeException':
|
46 |
+
$sendResponse['message'] = $this->__('Invalid postcode format, use `1234AB` format.');
|
47 |
+
$sendResponse['messageTarget'] = 'postcode';
|
48 |
+
break;
|
49 |
+
case 'PostcodeNl_Service_PostcodeAddress_AddressNotFoundException':
|
50 |
+
$sendResponse['message'] = $this->__('Unknown postcode + housenumber combination.');
|
51 |
+
$sendResponse['messageTarget'] = 'housenumber';
|
52 |
+
break;
|
53 |
+
default:
|
54 |
+
$sendResponse['message'] = $this->__('Validation failed.');
|
55 |
+
$sendResponse['messageTarget'] = 'housenumber';
|
56 |
+
break;
|
57 |
+
}
|
58 |
+
}
|
59 |
+
else if (is_array($response) && isset($response['postcode']))
|
60 |
{
|
61 |
+
$sendResponse = array_merge($sendResponse, $response);
|
62 |
}
|
63 |
else
|
64 |
{
|
65 |
+
$sendResponse['message'] = $this->__('Validation failed.');
|
66 |
+
$sendResponse['messageTarget'] = 'housenumber';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
}
|
68 |
+
echo json_encode($sendResponse);
|
69 |
}
|
|
|
70 |
}
|
app/code/community/PostcodeNl/Api/etc/system.xml
CHANGED
@@ -56,6 +56,19 @@
|
|
56 |
To get your Postcode.nl API key and secret, please register at <a href="https://api.postcode.nl">Postcode.nl API</a>.
|
57 |
]]></comment>
|
58 |
</api_secret>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
<api_showcase translate="label">
|
60 |
<label>Enable API Showcase</label>
|
61 |
<frontend_type>select</frontend_type>
|
56 |
To get your Postcode.nl API key and secret, please register at <a href="https://api.postcode.nl">Postcode.nl API</a>.
|
57 |
]]></comment>
|
58 |
</api_secret>
|
59 |
+
<use_street2_as_housenumber translate="label">
|
60 |
+
<label>Separate housenumber</label>
|
61 |
+
<frontend_type>select</frontend_type>
|
62 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
63 |
+
<sort_order>45</sort_order>
|
64 |
+
<show_in_default>1</show_in_default>
|
65 |
+
<show_in_website>1</show_in_website>
|
66 |
+
<show_in_store>1</show_in_store>
|
67 |
+
<comment>
|
68 |
+
<![CDATA[
|
69 |
+
If you use the second 'street' field as a separate house-number field, enable this option.
|
70 |
+
]]></comment>
|
71 |
+
</use_street2_as_housenumber>
|
72 |
<api_showcase translate="label">
|
73 |
<label>Enable API Showcase</label>
|
74 |
<frontend_type>select</frontend_type>
|
app/design/frontend/default/default/template/postcodenl/api/jsinit.phtml
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
var PCNLAPI_CONFIG = {
|
4 |
baseUrl: "<?php echo htmlspecialchars(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK)) ?>",
|
5 |
showcase: <?php echo Mage::getStoreConfig('postcodenl/config/api_showcase') ? 'true' : 'false' ?>,
|
|
|
6 |
translations: {
|
7 |
defaultError: "<?php echo htmlspecialchars($this->__('Unknown postcode + housenumber combination.')) ?>",
|
8 |
postcodeInputLabel: "<?php echo htmlspecialchars($this->__('Postcode (auto-validating)')) ?>",
|
3 |
var PCNLAPI_CONFIG = {
|
4 |
baseUrl: "<?php echo htmlspecialchars(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK)) ?>",
|
5 |
showcase: <?php echo Mage::getStoreConfig('postcodenl/config/api_showcase') ? 'true' : 'false' ?>,
|
6 |
+
useStreet2AsHouseNumber: <?php echo Mage::getStoreConfig('postcodenl/config/use_street2_as_housenumber') ? 'true' : 'false' ?>,
|
7 |
translations: {
|
8 |
defaultError: "<?php echo htmlspecialchars($this->__('Unknown postcode + housenumber combination.')) ?>",
|
9 |
postcodeInputLabel: "<?php echo htmlspecialchars($this->__('Postcode (auto-validating)')) ?>",
|
app/locale/en_US/PostcodeNl_Api.csv
CHANGED
@@ -1,6 +1,9 @@
|
|
1 |
"Unknown postcode + housenumber combination.","Unknown postcode + housenumber combination."
|
2 |
"Housenumber addition `{addition}` is unknown.","Housenumber addition `{addition}` is unknown."
|
3 |
"Housenumber addition required.","Housenumber addition required."
|
|
|
|
|
|
|
4 |
"Housenumber","Housenumber"
|
5 |
"Houseno addition","Houseno addition"
|
6 |
"Housenumber addition","Housenumber addition"
|
1 |
"Unknown postcode + housenumber combination.","Unknown postcode + housenumber combination."
|
2 |
"Housenumber addition `{addition}` is unknown.","Housenumber addition `{addition}` is unknown."
|
3 |
"Housenumber addition required.","Housenumber addition required."
|
4 |
+
"Invalid postcode format, use `1234AB` format.","Invalid postcode format, use `1234AB` format."
|
5 |
+
"Postcode","Postcode"
|
6 |
+
"Postcode (auto-validating)","Postcode (auto-validating)"
|
7 |
"Housenumber","Housenumber"
|
8 |
"Houseno addition","Houseno addition"
|
9 |
"Housenumber addition","Housenumber addition"
|
app/locale/nl_NL/PostcodeNl_Api.csv
CHANGED
@@ -1,6 +1,9 @@
|
|
1 |
"Unknown postcode + housenumber combination.","Onbekende postcode + huisnummer combinatie."
|
2 |
"Housenumber addition `{addition}` is unknown.","Huisnummer toevoeging `{addition}` is onbekend."
|
3 |
"Housenumber addition required.","Huisnummer toevoeging vereist."
|
|
|
|
|
|
|
4 |
"Housenumber","Huisnummer"
|
5 |
"Houseno addition","Huisnr toevoeging"
|
6 |
"Housenumber addition","Huisnummer toevoeging"
|
1 |
"Unknown postcode + housenumber combination.","Onbekende postcode + huisnummer combinatie."
|
2 |
"Housenumber addition `{addition}` is unknown.","Huisnummer toevoeging `{addition}` is onbekend."
|
3 |
"Housenumber addition required.","Huisnummer toevoeging vereist."
|
4 |
+
"Invalid postcode format, use `1234AB` format.","Invalide postcode formaat, gebruik het `1234AB` formaat."
|
5 |
+
"Postcode","Postcode"
|
6 |
+
"Postcode (auto-validating)","Postcode (automatisch validerend)"
|
7 |
"Housenumber","Huisnummer"
|
8 |
"Houseno addition","Huisnr toevoeging"
|
9 |
"Housenumber addition","Huisnummer toevoeging"
|
js/postcodenl/api/lookup.js
CHANGED
@@ -45,16 +45,16 @@ document.observe("dom:loaded", function() {
|
|
45 |
$(prefix +'showcase').remove();
|
46 |
|
47 |
var info = '';
|
48 |
-
for (var prop in json)
|
49 |
{
|
50 |
var name = prop.charAt(0).toUpperCase() + prop.slice(1);
|
51 |
-
info += '<dt>'+ name.escapeHTML() +'</dt><dd>'+ String(json[prop] === null ? '- none -' : json[prop]).escapeHTML() +'</dd>';
|
52 |
}
|
53 |
|
54 |
var map = '';
|
55 |
-
if (json.longitude && json.latitude)
|
56 |
{
|
57 |
-
map = '<iframe frameborder="0" scrolling="no" marginheight="0" marginwidth="0" class="map" src="http://maps.google.com/maps?t=h&q='+ json.latitude +','+ json.longitude +'+(Location found)&z=19&output=embed&iwloc=near"></iframe>';
|
58 |
}
|
59 |
|
60 |
if ($(prefix + countryFieldId).parentNode.tagName == 'TD')
|
@@ -64,7 +64,7 @@ document.observe("dom:loaded", function() {
|
|
64 |
}
|
65 |
else
|
66 |
{
|
67 |
-
$(prefix + street1).
|
68 |
}
|
69 |
}
|
70 |
|
@@ -72,6 +72,11 @@ document.observe("dom:loaded", function() {
|
|
72 |
if (advice) {
|
73 |
Validation.hideAdvice($(prefix +'postcode_housenumber'), advice, 'invalid-postcode');
|
74 |
}
|
|
|
|
|
|
|
|
|
|
|
75 |
if ($(prefix +'postcode_housenumber_addition'))
|
76 |
{
|
77 |
var additionAdvice = Validation.getAdvice('invalid-addition', $(prefix +'postcode_housenumber_addition'));
|
@@ -83,7 +88,16 @@ document.observe("dom:loaded", function() {
|
|
83 |
{
|
84 |
$(prefix + postcodeFieldId).setValue(json.postcode);
|
85 |
$(prefix + 'postcode_input').setValue(json.postcode);
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
$(prefix +'city').setValue(json.city);
|
88 |
$(prefix +'region').setValue(json.province);
|
89 |
|
@@ -126,7 +140,7 @@ document.observe("dom:loaded", function() {
|
|
126 |
}
|
127 |
else if (json.message != undefined)
|
128 |
{
|
129 |
-
newAdvice = Validation.createAdvice('invalid-postcode', $(prefix +'postcode_housenumber'), false, json.message);
|
130 |
Validation.showAdvice($(prefix +'postcode_housenumber'), newAdvice, 'invalid-postcode');
|
131 |
|
132 |
if ($(prefix +'postcode_housenumber_addition'))
|
@@ -134,7 +148,7 @@ document.observe("dom:loaded", function() {
|
|
134 |
}
|
135 |
else
|
136 |
{
|
137 |
-
newAdvice = Validation.createAdvice('invalid-postcode', $(prefix +'postcode_housenumber'), false, '');
|
138 |
Validation.showAdvice($(prefix +'postcode_housenumber'), newAdvice, 'invalid-postcode');
|
139 |
|
140 |
if ($(prefix +'postcode_housenumber_addition'))
|
@@ -151,8 +165,16 @@ document.observe("dom:loaded", function() {
|
|
151 |
alert(prefix + countryFieldId);
|
152 |
if ($(prefix + countryFieldId).getValue() == 'NL')
|
153 |
{
|
154 |
-
|
155 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
$(prefix +'city', prefix +'region', prefix + postcodeFieldId, prefix + street1).invoke('removeClassName', 'required-entry');
|
157 |
if (!$(prefix +'postcode_input:wrapper'))
|
158 |
{
|
@@ -163,7 +185,7 @@ document.observe("dom:loaded", function() {
|
|
163 |
}
|
164 |
else
|
165 |
{
|
166 |
-
$(prefix + street1).
|
167 |
}
|
168 |
|
169 |
$(prefix +'postcode_input').observe('change', function(e) { lookupPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, e); });
|
@@ -180,7 +202,15 @@ document.observe("dom:loaded", function() {
|
|
180 |
{
|
181 |
$(prefix +'postcode_input').setValue($(prefix + postcodeFieldId).getValue());
|
182 |
|
183 |
-
var housenumber_match
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
|
185 |
var housenumber = housenumber_match ? housenumber_match[1].trim() : '';
|
186 |
|
@@ -199,8 +229,16 @@ document.observe("dom:loaded", function() {
|
|
199 |
}
|
200 |
else
|
201 |
{
|
202 |
-
|
203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
$(prefix +'city', prefix +'region', prefix + postcodeFieldId, prefix + street1).invoke('addClassName', 'required-entry');
|
205 |
Element.remove($(prefix +'postcode_input:wrapper'));
|
206 |
if ($(prefix +'postcode_housenumber:wrapper'))
|
45 |
$(prefix +'showcase').remove();
|
46 |
|
47 |
var info = '';
|
48 |
+
for (var prop in json.showcaseResponse)
|
49 |
{
|
50 |
var name = prop.charAt(0).toUpperCase() + prop.slice(1);
|
51 |
+
info += '<dt>'+ name.escapeHTML() +'</dt><dd>'+ String(json.showcaseResponse[prop] === null ? '- none -' : json.showcaseResponse[prop]).escapeHTML() +'</dd>';
|
52 |
}
|
53 |
|
54 |
var map = '';
|
55 |
+
if (json.showcaseResponse.longitude && json.showcaseResponse.latitude)
|
56 |
{
|
57 |
+
map = '<iframe frameborder="0" scrolling="no" marginheight="0" marginwidth="0" class="map" src="http://maps.google.com/maps?t=h&q='+ json.showcaseResponse.latitude +','+ json.showcaseResponse.longitude +'+(Location found)&z=19&output=embed&iwloc=near"></iframe>';
|
58 |
}
|
59 |
|
60 |
if ($(prefix + countryFieldId).parentNode.tagName == 'TD')
|
64 |
}
|
65 |
else
|
66 |
{
|
67 |
+
$(prefix + street1).up('li').insert({before: '<li id="' + prefix +'showcase" class="wide"><div class="input-box"><h4 class="showcase">'+ PCNLAPI_CONFIG.translations.apiShowcase.escapeHTML() +'</h4><dl class="showcase">'+ info + map + '</dl></div></li>'});
|
68 |
}
|
69 |
}
|
70 |
|
72 |
if (advice) {
|
73 |
Validation.hideAdvice($(prefix +'postcode_housenumber'), advice, 'invalid-postcode');
|
74 |
}
|
75 |
+
var advice = Validation.getAdvice('invalid-postcode', $(prefix +'postcode_input'));
|
76 |
+
if (advice) {
|
77 |
+
Validation.hideAdvice($(prefix +'postcode_input'), advice, 'invalid-postcode');
|
78 |
+
}
|
79 |
+
|
80 |
if ($(prefix +'postcode_housenumber_addition'))
|
81 |
{
|
82 |
var additionAdvice = Validation.getAdvice('invalid-addition', $(prefix +'postcode_housenumber_addition'));
|
88 |
{
|
89 |
$(prefix + postcodeFieldId).setValue(json.postcode);
|
90 |
$(prefix + 'postcode_input').setValue(json.postcode);
|
91 |
+
if (PCNLAPI_CONFIG.useStreet2AsHouseNumber)
|
92 |
+
{
|
93 |
+
$(prefix + street1).setValue((json.street).trim());
|
94 |
+
$(prefix + street2).setValue((json.houseNumber +' '+ (json.houseNumberAddition ? json.houseNumberAddition : housenumber_addition)).trim());
|
95 |
+
}
|
96 |
+
else
|
97 |
+
{
|
98 |
+
$(prefix + street1).setValue((json.street +' '+ json.houseNumber +' '+ (json.houseNumberAddition ? json.houseNumberAddition : housenumber_addition)).trim());
|
99 |
+
}
|
100 |
+
|
101 |
$(prefix +'city').setValue(json.city);
|
102 |
$(prefix +'region').setValue(json.province);
|
103 |
|
140 |
}
|
141 |
else if (json.message != undefined)
|
142 |
{
|
143 |
+
newAdvice = Validation.createAdvice('invalid-postcode', $(prefix + (json.messageTarget == 'postcode' ? 'postcode_input' : 'postcode_housenumber')), false, json.message);
|
144 |
Validation.showAdvice($(prefix +'postcode_housenumber'), newAdvice, 'invalid-postcode');
|
145 |
|
146 |
if ($(prefix +'postcode_housenumber_addition'))
|
148 |
}
|
149 |
else
|
150 |
{
|
151 |
+
newAdvice = Validation.createAdvice('invalid-postcode', $(prefix + (json.messageTarget == 'postcode' ? 'postcode_input' : 'postcode_housenumber')), false, '');
|
152 |
Validation.showAdvice($(prefix +'postcode_housenumber'), newAdvice, 'invalid-postcode');
|
153 |
|
154 |
if ($(prefix +'postcode_housenumber_addition'))
|
165 |
alert(prefix + countryFieldId);
|
166 |
if ($(prefix + countryFieldId).getValue() == 'NL')
|
167 |
{
|
168 |
+
var street2element = $(prefix + street2);
|
169 |
+
if (street2element)
|
170 |
+
{
|
171 |
+
$(street2element).setAttribute('readonly', true);
|
172 |
+
$(street2element).addClassName('readonly');
|
173 |
+
$(street2element).removeClassName('required-entry');
|
174 |
+
}
|
175 |
+
|
176 |
+
$(prefix +'city', prefix +'region', prefix + postcodeFieldId, prefix + street1).invoke('setAttribute', 'readonly', true);
|
177 |
+
$(prefix +'city', prefix +'region', prefix + postcodeFieldId, prefix + street1).invoke('addClassName', 'readonly');
|
178 |
$(prefix +'city', prefix +'region', prefix + postcodeFieldId, prefix + street1).invoke('removeClassName', 'required-entry');
|
179 |
if (!$(prefix +'postcode_input:wrapper'))
|
180 |
{
|
185 |
}
|
186 |
else
|
187 |
{
|
188 |
+
$(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:wrapper" class="fields"><div class="field"><label for="' + prefix + 'postcode_input" class="required"><em>*</em>'+ PCNLAPI_CONFIG.translations.postcodeInputLabel +'</label><div class="input-box"><input type="text" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input" value="" class="input-text required-entry" /></div></div><div class="field"><label for="' + prefix + 'postcode_housenumber" class="required"><em>*</em>'+ PCNLAPI_CONFIG.translations.houseNumberLabel +'</label><div class="input-box"><input type="text" title="'+ PCNLAPI_CONFIG.translations.houseNumberTitle +'" name="billing[postcode_housenumber]" id="' + prefix + 'postcode_housenumber" value="" class="input-text input-text-half required-entry" /></div></div></li>'});
|
189 |
}
|
190 |
|
191 |
$(prefix +'postcode_input').observe('change', function(e) { lookupPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, e); });
|
202 |
{
|
203 |
$(prefix +'postcode_input').setValue($(prefix + postcodeFieldId).getValue());
|
204 |
|
205 |
+
var housenumber_match;
|
206 |
+
if (PCNLAPI_CONFIG.useStreet2AsHouseNumber)
|
207 |
+
{
|
208 |
+
housenumber_match = $(prefix + street2).getValue().match(/([0-9]+)([^0-9a-zA-Z]+([0-9a-zA-Z ]+)|([a-zA-Z]([0-9a-zA-Z ]+)))?$/);
|
209 |
+
}
|
210 |
+
else
|
211 |
+
{
|
212 |
+
housenumber_match = $(prefix + street1).getValue().match(/([0-9]+)([^0-9a-zA-Z]+([0-9a-zA-Z ]+)|([a-zA-Z]([0-9a-zA-Z ]+)))?$/);
|
213 |
+
}
|
214 |
|
215 |
var housenumber = housenumber_match ? housenumber_match[1].trim() : '';
|
216 |
|
229 |
}
|
230 |
else
|
231 |
{
|
232 |
+
var street2element = $(prefix + street2);
|
233 |
+
if (street2element)
|
234 |
+
{
|
235 |
+
$(street2element).removeAttribute('readonly');
|
236 |
+
$(street2element).removeClassName('readonly');
|
237 |
+
$(street2element).addClassName('required-entry');
|
238 |
+
}
|
239 |
+
|
240 |
+
$(prefix +'city', prefix +'region', prefix + postcodeFieldId, prefix + street1).invoke('removeAttribute', 'readonly');
|
241 |
+
$(prefix +'city', prefix +'region', prefix + postcodeFieldId, prefix + street1).invoke('removeClassName', 'readonly');
|
242 |
$(prefix +'city', prefix +'region', prefix + postcodeFieldId, prefix + street1).invoke('addClassName', 'required-entry');
|
243 |
Element.remove($(prefix +'postcode_input:wrapper'));
|
244 |
if ($(prefix +'postcode_housenumber:wrapper'))
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>PostcodeNl_Api</name>
|
4 |
-
<version>1.0.
|
5 |
<stability>stable</stability>
|
6 |
<license>Simplified BSD License</license>
|
7 |
<channel>community</channel>
|
@@ -9,17 +9,17 @@
|
|
9 |
<summary>Complement and validate Dutch addresses at Checkout with the free postcode Magento plugin from Postcode.nl.</summary>
|
10 |
<description>Complement and validate Dutch addresses at Checkout with the free postcode Magento plugin from Postcode.nl.
|
11 |

|
12 |
-
• Reduce address errors
|
13 |
• Reduce costs from undelivered mail and packages
|
14 |
• Offer extra service for your customers with easy address entry
|
15 |
• Improve sale conversion
|
16 |

|
17 |
The postcode Magento plugin from Postcode.nl is free of charge, with a limitation of 10,000 requests per year. The use of the Postcode.nl Magento plugin is subject to our Terms and Conditions.</description>
|
18 |
-
<notes>Improved compatibility.</notes>
|
19 |
<authors><author><name>Postcode.nl Technical Support</name><user>auto-converted</user><email>tech@postcode.nl</email></author></authors>
|
20 |
-
<date>2012-09-
|
21 |
-
<time>
|
22 |
-
<contents><target name="magecommunity"><dir name="PostcodeNl"><dir name="Api"><dir name="Block"><file name="Jsinit.php" hash="79bb826a50ce0cf4f87cc2f958bfafa1"/></dir><dir name="Helper"><file name="Data.php" hash="86d092299190f0c57ef73e9432278306"/></dir><dir name="controllers"><file name="JsonController.php" hash="
|
23 |
<compatible/>
|
24 |
<dependencies/>
|
25 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>PostcodeNl_Api</name>
|
4 |
+
<version>1.0.2.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>Simplified BSD License</license>
|
7 |
<channel>community</channel>
|
9 |
<summary>Complement and validate Dutch addresses at Checkout with the free postcode Magento plugin from Postcode.nl.</summary>
|
10 |
<description>Complement and validate Dutch addresses at Checkout with the free postcode Magento plugin from Postcode.nl.
|
11 |

|
12 |
+
• Reduce address errors
|
13 |
• Reduce costs from undelivered mail and packages
|
14 |
• Offer extra service for your customers with easy address entry
|
15 |
• Improve sale conversion
|
16 |

|
17 |
The postcode Magento plugin from Postcode.nl is free of charge, with a limitation of 10,000 requests per year. The use of the Postcode.nl Magento plugin is subject to our Terms and Conditions.</description>
|
18 |
+
<notes>Improved compatibility with different checkout address-setups.</notes>
|
19 |
<authors><author><name>Postcode.nl Technical Support</name><user>auto-converted</user><email>tech@postcode.nl</email></author></authors>
|
20 |
+
<date>2012-09-12</date>
|
21 |
+
<time>14:32:56</time>
|
22 |
+
<contents><target name="magecommunity"><dir name="PostcodeNl"><dir name="Api"><dir name="Block"><file name="Jsinit.php" hash="79bb826a50ce0cf4f87cc2f958bfafa1"/></dir><dir name="Helper"><file name="Data.php" hash="86d092299190f0c57ef73e9432278306"/></dir><dir name="controllers"><file name="JsonController.php" hash="08c7624dc4c99c0153d606dc2af49f9f"/></dir><dir name="etc"><file name="config.xml" hash="a1b4244120c47f02084de73488ce68c2"/><file name="system.xml" hash="a9f001a7ecd29056679873229284fa80"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="postcodenl"><dir name="api"><file name="lookup.xml" hash="912aa0881de03e5d7bd338a00e783215"/></dir></dir></dir><dir name="template"><dir name="postcodenl"><dir name="api"><file name="jsinit.phtml" hash="8061e808dc71f96026e268d3463728fe"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><dir name="postcodenl"><dir name="api"><file name="lookup.xml" hash="606b14bed6481aa253e60c89e75ed9e6"/></dir></dir></dir><dir name="template"><dir name="postcodenl"><dir name="api"><file name="jsinit.phtml" hash="31e7380f3954b2cafcfb4f88702b8d7b"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="PostcodeNl_Api.csv" hash="d13aab689872c566127cd05fa210f4cd"/></dir><dir name="nl_NL"><file name="PostcodeNl_Api.csv" hash="f61fb87d1954d2321ffbeabb578d078e"/></dir></target><target name="mageweb"><dir name="js"><dir name="postcodenl"><dir name="api"><file name="lookup.js" hash="80f9037e48a7f283af2298a4b4f0d045"/></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="postcodenl"><dir name="api"><dir name="css"><file name="lookup.css" hash="bfb9ee43739cfec85954b1e810fc996c"/></dir><dir name="images"><file name="postcode-logo.png" hash="da02bc29be1057a0201e63f81ee4bd02"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="postcodenl"><dir name="api"><dir name="css"><file name="lookup.css" hash="b3565f5a31fb73b3d8c9d78c3226bdec"/></dir><dir name="images"><file name="postcode-logo.png" hash="da02bc29be1057a0201e63f81ee4bd02"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="PostcodeNl_Api.xml" hash="feeaf95128ffe4ad109ed8b0b8bc85ab"/></dir></target></contents>
|
23 |
<compatible/>
|
24 |
<dependencies/>
|
25 |
</package>
|