Version Notes
added file upload functionality to support custom product option type file.
Download this release
Release Info
Developer | Hardik Gajjar |
Extension | HardikAjaxCart |
Version | 1.1.1 |
Comparing to | |
See all releases |
Code changes from version 1.1.0 to 1.1.1
app/code/local/Hardik/Ajaxcart/Model/Response.php
CHANGED
@@ -7,7 +7,7 @@ class Hardik_Ajaxcart_Model_Response extends Varien_Object
|
|
7 |
Zend_Json::$useBuiltinEncoderDecoder = true;
|
8 |
if ($this->getError()) $this->setR('error');
|
9 |
else $this->setR('success');
|
10 |
-
Mage::app()->getFrontController()->getResponse()->setBody(Zend_Json::encode($this->getData()));
|
11 |
}
|
12 |
|
13 |
public function addUpdatedBlocks(&$_response) {
|
7 |
Zend_Json::$useBuiltinEncoderDecoder = true;
|
8 |
if ($this->getError()) $this->setR('error');
|
9 |
else $this->setR('success');
|
10 |
+
Mage::app()->getFrontController()->getResponse()->setHeader('Content-Type', 'text/plain')->setBody(Zend_Json::encode($this->getData()));
|
11 |
}
|
12 |
|
13 |
public function addUpdatedBlocks(&$_response) {
|
app/code/local/Hardik/Ajaxcart/etc/config.xml
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
<config>
|
8 |
<modules>
|
9 |
<Hardik_Ajaxcart>
|
10 |
-
<version>1.1.
|
11 |
</Hardik_Ajaxcart>
|
12 |
</modules>
|
13 |
<global>
|
7 |
<config>
|
8 |
<modules>
|
9 |
<Hardik_Ajaxcart>
|
10 |
+
<version>1.1.1</version>
|
11 |
</Hardik_Ajaxcart>
|
12 |
</modules>
|
13 |
<global>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>HardikAjaxCart</name>
|
4 |
-
<version>1.1.
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v3.0</license>
|
7 |
<channel>community</channel>
|
@@ -14,11 +14,11 @@ If you want to add more blocks which should be updated, you can easily do so jus
|
|
14 |
You can refer the default layout update entries in admin panel for further details.
|
15 |

|
16 |
NOTE: Please confirm that the block which you are adding in layout update entries is under <strong>default</strong> handle or under <strong>ajaxcart</strong> handle. You can refer ajaxcart.xml frontend layout file for further details.</description>
|
17 |
-
<notes>
|
18 |
<authors><author><name>Hardik Gajjar</name><user>hardik_krishinc</user><email>hardik.gajjar@krishinc.com</email></author></authors>
|
19 |
-
<date>
|
20 |
-
<time>
|
21 |
-
<contents><target name="magelocal"><dir name="Hardik"><dir name="Ajaxcart"><dir name="Block"><dir name="Adminhtml"><file name="Info.php" hash="8fab3b7d0b1390dcc80a037c66b1ba7f"/><file name="Url.php" hash="ed7b1ff4b0f4ad33d45cfd301dba4227"/></dir></dir><dir name="Helper"><file name="Data.php" hash="773174c4f49cccc57be68acb1e0027e5"/></dir><dir name="Model"><file name="Observer.php" hash="25a046b451673ced3055f9dbd16cbc08"/><file name="Response.php" hash="
|
22 |
<compatible/>
|
23 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
24 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>HardikAjaxCart</name>
|
4 |
+
<version>1.1.1</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v3.0</license>
|
7 |
<channel>community</channel>
|
14 |
You can refer the default layout update entries in admin panel for further details.
|
15 |

|
16 |
NOTE: Please confirm that the block which you are adding in layout update entries is under <strong>default</strong> handle or under <strong>ajaxcart</strong> handle. You can refer ajaxcart.xml frontend layout file for further details.</description>
|
17 |
+
<notes>added file upload functionality to support custom product option type file.</notes>
|
18 |
<authors><author><name>Hardik Gajjar</name><user>hardik_krishinc</user><email>hardik.gajjar@krishinc.com</email></author></authors>
|
19 |
+
<date>2013-01-02</date>
|
20 |
+
<time>10:41:57</time>
|
21 |
+
<contents><target name="magelocal"><dir name="Hardik"><dir name="Ajaxcart"><dir name="Block"><dir name="Adminhtml"><file name="Info.php" hash="8fab3b7d0b1390dcc80a037c66b1ba7f"/><file name="Url.php" hash="ed7b1ff4b0f4ad33d45cfd301dba4227"/></dir></dir><dir name="Helper"><file name="Data.php" hash="773174c4f49cccc57be68acb1e0027e5"/></dir><dir name="Model"><file name="Observer.php" hash="25a046b451673ced3055f9dbd16cbc08"/><file name="Response.php" hash="c8032d2b23f6073be31f33dd47a2448e"/></dir><dir name="controllers"><dir name="Checkout"><file name="CartController.php" hash="1fbdb0b12a18522a9aaafc46fda4c7e3"/></dir></dir><dir name="etc"><file name="config.xml" hash="2e2fde0f031718730dfacfaaa6890328"/><file name="system.xml" hash="70e92e5d3c03d7b462e72ba3a8eaca1f"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="ajaxcart"><file name="ajaxcart.js" hash="879c93b05d725657cace5793ef31739a"/><file name="growler.css" hash="c13a01e28cb4eb98b1fbc4a419d906cf"/><file name="growler.js" hash="816d275972bbe9c048033643755fb194"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="ajaxcart.xml" hash="c3ec794d08c15150d302bdfff95cec55"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Hardik_Ajaxcart.xml" hash="81451d4f81af3650b8151344bbc1e865"/></dir></target></contents>
|
22 |
<compatible/>
|
23 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
24 |
</package>
|
skin/frontend/base/default/ajaxcart/ajaxcart.js
CHANGED
@@ -57,47 +57,99 @@ var ajaxcart = {
|
|
57 |
}
|
58 |
});
|
59 |
} else {
|
60 |
-
|
61 |
-
data = obj.form.serialize();
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
|
82 |
//update all blocks here
|
83 |
_this.updateBlocks(res.update_blocks);
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
}
|
102 |
} catch(e) {
|
103 |
console.log(e);
|
57 |
}
|
58 |
});
|
59 |
} else {
|
60 |
+
if(typeof obj.form.down('input[type=file]') != 'undefined') {
|
|
|
61 |
|
62 |
+
//use iframe
|
63 |
+
|
64 |
+
obj.form.insert('<iframe id="upload_target" name="upload_target" src="" style="width:0;height:0;border:0px solid #fff;"></iframe>');
|
65 |
+
|
66 |
+
var iframe = $('upload_target');
|
67 |
+
iframe.observe('load', function(){
|
68 |
+
// Handle the response content...
|
69 |
+
try{
|
70 |
+
var res = iframe.contentWindow.document.body.innerText;
|
71 |
+
res = res.evalJSON();
|
72 |
+
|
73 |
+
if(res) {
|
74 |
+
if(res.r == 'success') {
|
75 |
+
if(res.message) {
|
76 |
+
_this.showSuccess(res.message);
|
77 |
+
} else {
|
78 |
+
_this.showSuccess('Item was added into cart.');
|
79 |
+
}
|
80 |
|
81 |
//update all blocks here
|
82 |
_this.updateBlocks(res.update_blocks);
|
83 |
|
84 |
+
} else {
|
85 |
+
if(typeof res.messages != 'undefined') {
|
86 |
+
_this.showError(res.messages);
|
87 |
+
} else {
|
88 |
+
_this.showError("Something bad happened");
|
89 |
+
}
|
90 |
+
}
|
91 |
+
} else {
|
92 |
+
_this.showError("Something bad happened");
|
93 |
+
}
|
94 |
+
} catch(e) {
|
95 |
+
console.log(e);
|
96 |
+
_this.showError("Something bad happened");
|
97 |
+
}
|
98 |
+
});
|
99 |
+
|
100 |
+
obj.form.target = 'upload_target';
|
101 |
+
|
102 |
+
//show loading
|
103 |
+
_this.g.warn("Processing", {life: 5});
|
104 |
+
|
105 |
+
obj.form.submit();
|
106 |
+
return true;
|
107 |
+
|
108 |
+
} else {
|
109 |
+
//use ajax
|
110 |
+
|
111 |
+
var url = obj.form.action,
|
112 |
+
data = obj.form.serialize();
|
113 |
+
|
114 |
+
new Ajax.Request(url, {
|
115 |
+
method : 'post',
|
116 |
+
postBody : data,
|
117 |
+
onCreate : function() {
|
118 |
+
_this.g.warn("Processing", {life: 5});
|
119 |
+
},
|
120 |
+
onSuccess : function(response) {
|
121 |
+
// Handle the response content...
|
122 |
+
try{
|
123 |
+
var res = response.responseText.evalJSON();
|
124 |
+
|
125 |
+
if(res) {
|
126 |
+
if(res.r == 'success') {
|
127 |
+
if(res.message) {
|
128 |
+
_this.showSuccess(res.message);
|
129 |
+
} else {
|
130 |
+
_this.showSuccess('Item was added into cart.');
|
131 |
+
}
|
132 |
+
|
133 |
+
//update all blocks here
|
134 |
+
_this.updateBlocks(res.update_blocks);
|
135 |
+
|
136 |
+
} else {
|
137 |
+
if(typeof res.messages != 'undefined') {
|
138 |
+
_this.showError(res.messages);
|
139 |
+
} else {
|
140 |
+
_this.showError("Something bad happened");
|
141 |
+
}
|
142 |
+
}
|
143 |
+
} else {
|
144 |
+
_this.showError("Something bad happened");
|
145 |
+
}
|
146 |
+
} catch(e) {
|
147 |
+
console.log(e);
|
148 |
+
_this.showError("Something bad happened");
|
149 |
+
}
|
150 |
+
}
|
151 |
+
});
|
152 |
+
}
|
153 |
}
|
154 |
} catch(e) {
|
155 |
console.log(e);
|