Version Notes
1.5.0.0.23.0 version of package
internal svn revision #3cd616975d5927903d4f34bde0d9e5e2e727e9ba
Download this release
Release Info
Developer | Magento Core Team |
Extension | Magento_Mobile |
Version | 1.5.0.0.23.0 |
Comparing to | |
See all releases |
Code changes from version 1.4.2.0.23.0 to 1.5.0.0.23.0
- app/code/core/Mage/XmlConnect/Block/Adminhtml/Admin/Application/Edit/Tab/Settings.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Config.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/GraphInfo.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/TopSearchTerms.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Loginform.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Content.php +0 -20
- app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Images.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Submission/Tab/Container/Submission.php +17 -17
- app/code/core/Mage/XmlConnect/Block/Cart.php +12 -12
- app/code/core/Mage/XmlConnect/Block/Cart/CartTotals.php +0 -29
- app/code/core/Mage/XmlConnect/Block/Cart/CartTotals/Nodes/Giftcardaccount.php +4 -4
- app/code/core/Mage/XmlConnect/Block/Cart/Items.php +11 -11
- app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mecl/Details.php +2 -2
- app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mecl/OrderDetails.php +2 -2
- app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mep/Totals.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Cart/Totals.php +4 -5
- app/code/core/Mage/XmlConnect/Block/Catalog.php +4 -4
- app/code/core/Mage/XmlConnect/Block/Catalog/Product/ItemPrice/Giftcard.php +12 -11
- app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options.php +2 -2
- app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Bundle.php +20 -20
- app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Configurable.php +26 -26
- app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Grouped.php +10 -10
- app/code/core/Mage/XmlConnect/Block/Catalog/Product/Price/Bundle.php +3 -3
- app/code/core/Mage/XmlConnect/Block/Catalog/Product/Price/Default.php +237 -237
- app/code/core/Mage/XmlConnect/Block/Catalog/Product/Price/Giftcard.php +6 -6
- app/code/core/Mage/XmlConnect/Block/Checkout/Address/Form.php +48 -1
- app/code/core/Mage/XmlConnect/Block/Checkout/Cart/Item/Renderer/Configurable.php +2 -1
- app/code/core/Mage/XmlConnect/Block/Checkout/Cart/Item/Renderer/Grouped.php +2 -1
- app/code/core/Mage/XmlConnect/Block/Checkout/Onepage/Address.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Checkout/Onepage/Address/Form.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Checkout/Onepage/Address/List.php +4 -4
- app/code/core/Mage/XmlConnect/Block/Checkout/Order/Review/Info.php +12 -12
- app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Ccsave.php +3 -3
- app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Ccsave.php +2 -2
- app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Paypal/Abstract.php +2 -2
- app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Pbridge/Verisign.php +2 -2
- app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/List.php +27 -1
- app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Paypal/Payflow.php +9 -9
- app/code/core/Mage/XmlConnect/Block/Checkout/Pbridge/Result.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Configuration.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Customer/Address/Form.php +35 -0
- app/code/core/Mage/XmlConnect/Block/Customer/Address/List.php +12 -12
- app/code/core/Mage/XmlConnect/Block/Customer/Form.php +1 -121
- app/code/core/Mage/XmlConnect/Block/Customer/Order/Item/Renderer/Bundle.php +6 -7
- app/code/core/Mage/XmlConnect/Block/Customer/Order/Item/Renderer/Downloadable.php +0 -12
- app/code/core/Mage/XmlConnect/Block/Customer/Order/List.php +10 -10
- app/code/core/Mage/XmlConnect/Block/Customer/Storecredit.php +7 -9
- app/code/core/Mage/XmlConnect/Block/Homebanners.php +4 -5
- app/code/core/Mage/XmlConnect/Block/Localization.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Review/Form.php +1 -1
- app/code/core/Mage/XmlConnect/Block/Wishlist.php +15 -14
- app/code/core/Mage/XmlConnect/Controller/AdminAction.php +10 -3
- app/code/core/Mage/XmlConnect/Helper/AdminApplication.php +2 -2
- app/code/core/Mage/XmlConnect/Helper/Android.php +35 -86
- app/code/core/Mage/XmlConnect/Helper/Customer/Form/Renderer.php +3 -3
- app/code/core/Mage/XmlConnect/Helper/Customer/Order.php +10 -10
- app/code/core/Mage/XmlConnect/Helper/Data.php +1 -2
- app/code/core/Mage/XmlConnect/Helper/Image.php +5 -2
- app/code/core/Mage/XmlConnect/Helper/Iphone.php +11 -226
- app/code/core/Mage/XmlConnect/Helper/Theme.php +2 -1
- app/code/core/Mage/XmlConnect/Model/AdminApplication.php +0 -40
- app/code/core/Mage/XmlConnect/Model/Adminhtml/Search/Category.php +1 -1
- app/code/core/Mage/XmlConnect/Model/Application.php +7 -3
- app/code/core/Mage/XmlConnect/Model/ConfigData.php +5 -8
- app/code/core/Mage/XmlConnect/Model/Configuration.php +1 -1
- app/code/core/Mage/XmlConnect/Model/Corefix/Checkout/Session.php +0 -137
- app/code/core/Mage/XmlConnect/Model/Corefix/Checkout/Type/Onepage.php +0 -465
- app/code/core/Mage/XmlConnect/Model/Corefix/Sales/Quote.php +0 -427
- app/code/core/Mage/XmlConnect/Model/ImageLimits.php +3 -8
- app/code/core/Mage/XmlConnect/Model/Images.php +29 -21
- app/code/core/Mage/XmlConnect/Model/Payment/Method/Paypal/Mecl.php +21 -0
- app/code/core/Mage/XmlConnect/Model/Paypal/Mep/Checkout.php +2 -3
- app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Validator/Abstract.php +14 -15
- app/code/core/Mage/XmlConnect/Model/Simplexml/Message/Error.php +2 -3
- app/code/core/Mage/XmlConnect/controllers/Adminhtml/Connect/ConfigController.php +2 -2
- app/code/core/Mage/XmlConnect/controllers/Adminhtml/MobileController.php +2 -2
- app/code/core/Mage/XmlConnect/controllers/CartController.php +2 -2
- app/code/core/Mage/XmlConnect/controllers/CatalogController.php +20 -58
- app/code/core/Mage/XmlConnect/controllers/CheckoutController.php +0 -1
- app/code/core/Mage/XmlConnect/controllers/Paypal/MepController.php +4 -6
- app/code/core/Mage/XmlConnect/controllers/WishlistController.php +3 -1
- app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-data-upgrade-1.6.0.0-1.6.0.0.1.php +4 -5
- app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -14
- app/design/adminhtml/default/default/template/xmlconnect/edit/tab/content.phtml +3 -3
- app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design.phtml +2 -2
- app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/autocomplete.phtml +3 -3
- app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview_android.phtml +14 -12
- app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview_ipad.phtml +14 -12
- app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview_iphone.phtml +14 -12
- app/design/adminhtml/default/default/template/xmlconnect/form/element/app_tabs_android.phtml +4 -4
- app/design/adminhtml/default/default/template/xmlconnect/form/element/app_tabs_ipad.phtml +4 -4
- app/design/adminhtml/default/default/template/xmlconnect/form/element/app_tabs_iphone.phtml +4 -4
- app/design/adminhtml/default/default/template/xmlconnect/mobile/notification_helper.phtml +6 -6
- app/design/adminhtml/default/default/template/xmlconnect/submission/app_icons_preview.phtml +0 -2
- package.xml +5 -5
app/code/core/Mage/XmlConnect/Block/Adminhtml/Admin/Application/Edit/Tab/Settings.php
CHANGED
@@ -59,7 +59,7 @@ class Mage_XmlConnect_Block_Adminhtml_Admin_Application_Edit_Tab_Settings
|
|
59 |
'title' => $this->__('Enable Admin Application'),
|
60 |
'values' => Mage::getModel('adminhtml/system_config_source_yesno')->toOptionArray(),
|
61 |
'required' => true,
|
62 |
-
'value' => Mage::getSingleton('xmlconnect/configuration')->isActiveAdminApp()
|
63 |
));
|
64 |
|
65 |
$this->setForm($form);
|
59 |
'title' => $this->__('Enable Admin Application'),
|
60 |
'values' => Mage::getModel('adminhtml/system_config_source_yesno')->toOptionArray(),
|
61 |
'required' => true,
|
62 |
+
'value' => (int)Mage::getSingleton('xmlconnect/configuration')->isActiveAdminApp()
|
63 |
));
|
64 |
|
65 |
$this->setForm($form);
|
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Config.php
CHANGED
@@ -31,7 +31,7 @@
|
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
-
class Mage_XmlConnect_Block_Adminhtml_Connect_Config extends
|
35 |
{
|
36 |
/**
|
37 |
* Render login form xml
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
+
class Mage_XmlConnect_Block_Adminhtml_Connect_Config extends Mage_Core_Block_Abstract
|
35 |
{
|
36 |
/**
|
37 |
* Render login form xml
|
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard.php
CHANGED
@@ -31,7 +31,7 @@
|
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
-
class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard extends
|
35 |
{
|
36 |
/**
|
37 |
* Simple xml object
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
+
class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard extends Mage_Core_Block_Abstract
|
35 |
{
|
36 |
/**
|
37 |
* Simple xml object
|
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/GraphInfo.php
CHANGED
@@ -31,7 +31,7 @@
|
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
-
class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphInfo extends
|
35 |
{
|
36 |
/**
|
37 |
* Time range filter options
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
+
class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphInfo extends Mage_Core_Block_Abstract
|
35 |
{
|
36 |
/**
|
37 |
* Time range filter options
|
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/TopSearchTerms.php
CHANGED
@@ -82,7 +82,7 @@ class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_TopSearchTerms
|
|
82 |
* Add last search terms info to xml object
|
83 |
*
|
84 |
* @param Mage_XmlConnect_Model_Simplexml_Element $xmlObj
|
85 |
-
* @return
|
86 |
*/
|
87 |
public function addTopSearchTermsToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $xmlObj)
|
88 |
{
|
82 |
* Add last search terms info to xml object
|
83 |
*
|
84 |
* @param Mage_XmlConnect_Model_Simplexml_Element $xmlObj
|
85 |
+
* @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_TopSearchTerms
|
86 |
*/
|
87 |
public function addTopSearchTermsToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $xmlObj)
|
88 |
{
|
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Loginform.php
CHANGED
@@ -31,7 +31,7 @@
|
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
-
class Mage_XmlConnect_Block_Adminhtml_Connect_Loginform extends
|
35 |
{
|
36 |
/**
|
37 |
* Render login form xml
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
+
class Mage_XmlConnect_Block_Adminhtml_Connect_Loginform extends Mage_Core_Block_Abstract
|
35 |
{
|
36 |
/**
|
37 |
* Render login form xml
|
app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Content.php
CHANGED
@@ -104,26 +104,6 @@ class Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Content
|
|
104 |
return $this;
|
105 |
}
|
106 |
|
107 |
-
/**
|
108 |
-
* Retrieve add page button
|
109 |
-
*
|
110 |
-
* @return string
|
111 |
-
*/
|
112 |
-
public function getAddButtonHtml()
|
113 |
-
{
|
114 |
-
return $this->getChildHtml('add_button');
|
115 |
-
}
|
116 |
-
|
117 |
-
/**
|
118 |
-
* Retrieve delete page button
|
119 |
-
*
|
120 |
-
* @return string
|
121 |
-
*/
|
122 |
-
public function getDeleteButtonHtml()
|
123 |
-
{
|
124 |
-
return $this->getChildHtml('delete_button');
|
125 |
-
}
|
126 |
-
|
127 |
/**
|
128 |
* Prepare label for tab
|
129 |
*
|
104 |
return $this;
|
105 |
}
|
106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
/**
|
108 |
* Prepare label for tab
|
109 |
*
|
app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Images.php
CHANGED
@@ -168,7 +168,7 @@ class Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Design_Images extends Mage
|
|
168 |
/**
|
169 |
* Retrieve image config object
|
170 |
*
|
171 |
-
* @return
|
172 |
*/
|
173 |
public function getConfig()
|
174 |
{
|
168 |
/**
|
169 |
* Retrieve image config object
|
170 |
*
|
171 |
+
* @return Varien_Object
|
172 |
*/
|
173 |
public function getConfig()
|
174 |
{
|
app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Submission/Tab/Container/Submission.php
CHANGED
@@ -191,7 +191,7 @@ class Mage_XmlConnect_Block_Adminhtml_Mobile_Submission_Tab_Container_Submission
|
|
191 |
$fieldset->addField('conf/submit_text/contact_email', 'text', array(
|
192 |
'name' => 'conf[submit_text][email]',
|
193 |
'label' => $this->__('Contact Email'),
|
194 |
-
'class' => 'email',
|
195 |
'maxlength' => '40',
|
196 |
'value' => isset($formData['conf[submit_text][email]']) ? $formData['conf[submit_text][email]'] : null,
|
197 |
'note' => $this->__('Administrative contact for this app and for app submission issues.'),
|
@@ -270,54 +270,54 @@ class Mage_XmlConnect_Block_Adminhtml_Mobile_Submission_Tab_Container_Submission
|
|
270 |
switch ($deviceType) {
|
271 |
case Mage_XmlConnect_Helper_Data::DEVICE_TYPE_IPHONE:
|
272 |
$this->addImage($fieldset, 'conf/submit/icon', $this->__('Large iTunes Icon'),
|
273 |
-
$this->__('Large icon that appears in the iTunes App Store. You do not need to apply a gradient or soft edges (this is done automatically by Apple). Required size:
|
274 |
|
275 |
$this->addImage($fieldset, 'conf/submit/loader_image', $this->__('Loader Splash Screen'),
|
276 |
-
$this->__('Image that appears on first screen while your app is loading. Required size:
|
277 |
|
278 |
$this->addImage($fieldset, 'conf/submit/loader_image_i4', $this->__('Loader Splash Screen <br />(iPhone 4 retina)'),
|
279 |
-
$this->__('Image that appears on first screen while your app is loading. Required size:
|
280 |
|
281 |
$this->addImage($fieldset, 'conf/submit/logo', $this->__('Custom App Icon'),
|
282 |
-
$this->__('Icon that will appear on the user
|
283 |
|
284 |
$this->addImage($fieldset, 'conf/submit/logo_i4', $this->__('Custom App Icon <br />(iPhone 4 retina)'),
|
285 |
-
$this->__('Icon that will appear on the user\'s phone after they download your app. You do not need to apply a gradient or soft edges (this is done automatically by Apple). Recommended size:
|
286 |
|
287 |
$this->addImage($fieldset, 'conf/submit/big_logo', $this->__('Copyright Page Logo'),
|
288 |
-
$this->__('Store logo that is displayed on copyright page of app. Preferred size:
|
289 |
|
290 |
$this->addImage($fieldset, 'conf/submit/big_logo_i4', $this->__('Copyright Page Logo <br />(iPhone 4 retina)'),
|
291 |
-
$this->__('Store logo that is displayed on copyright page of app. Preferred size:
|
292 |
break;
|
293 |
case Mage_XmlConnect_Helper_Data::DEVICE_TYPE_IPAD:
|
294 |
$this->addImage($fieldset, 'conf/submit/icon', $this->__('Large iTunes Icon'),
|
295 |
-
$this->__('Large icon that appears in the iTunes App Store. You do not need to apply a gradient or soft edges (this is done automatically by Apple). Required size:
|
296 |
|
297 |
$this->addImage($fieldset, 'conf/submit/ipad_loader_portrait_image', $this->__('Loader Splash Screen <br />(portrait mode)'),
|
298 |
-
$this->__('Image that appears on first screen while your app is loading. Required size:
|
299 |
|
300 |
$this->addImage($fieldset, 'conf/submit/ipad_loader_landscape_image', $this->__('Loader Splash Screen <br />(landscape mode)'),
|
301 |
-
$this->__('Image that appears on first screen while your app is loading. Required size:
|
302 |
|
303 |
$this->addImage($fieldset, 'conf/submit/ipad_logo', $this->__('Custom App Icon'),
|
304 |
-
$this->__('Icon that will appear on the user\'s device after they download your app. You do not need to apply a gradient or soft edges (this is done automatically by Apple). Recommended size:
|
305 |
|
306 |
$this->addImage($fieldset, 'conf/submit/big_logo', $this->__('Copyright Page Logo'),
|
307 |
-
$this->__('Store logo that is displayed on copyright page of app. Preferred size:
|
308 |
break;
|
309 |
case Mage_XmlConnect_Helper_Data::DEVICE_TYPE_ANDROID:
|
310 |
$this->addImage($fieldset, 'conf/submit/icon', $this->__('High Resolution Application Icon'),
|
311 |
-
$this->__('The icon that appears in the Android Market. Recommended size:
|
312 |
|
313 |
$this->addImage($fieldset, 'conf/submit/android_loader_image', $this->__('Loader Splash Screen'),
|
314 |
-
$this->__('Image that appears on first screen while your app is loading. Required size:
|
315 |
|
316 |
$this->addImage($fieldset, 'conf/submit/android_logo', $this->__('Custom App Icon'),
|
317 |
-
$this->__('Icon that will appear on the user\'s device after they download your app. Recommended size:
|
318 |
|
319 |
$this->addImage($fieldset, 'conf/submit/big_logo', $this->__('Copyright Page Logo'),
|
320 |
-
$this->__('Store logo that is displayed on copyright page of app. Preferred size:
|
321 |
break;
|
322 |
}
|
323 |
|
191 |
$fieldset->addField('conf/submit_text/contact_email', 'text', array(
|
192 |
'name' => 'conf[submit_text][email]',
|
193 |
'label' => $this->__('Contact Email'),
|
194 |
+
'class' => 'validate-email email',
|
195 |
'maxlength' => '40',
|
196 |
'value' => isset($formData['conf[submit_text][email]']) ? $formData['conf[submit_text][email]'] : null,
|
197 |
'note' => $this->__('Administrative contact for this app and for app submission issues.'),
|
270 |
switch ($deviceType) {
|
271 |
case Mage_XmlConnect_Helper_Data::DEVICE_TYPE_IPHONE:
|
272 |
$this->addImage($fieldset, 'conf/submit/icon', $this->__('Large iTunes Icon'),
|
273 |
+
$this->__('Large icon that appears in the iTunes App Store. You do not need to apply a gradient or soft edges (this is done automatically by Apple).') . $this->__('Required size: %spx x %spx.', 512, 512), '', true);
|
274 |
|
275 |
$this->addImage($fieldset, 'conf/submit/loader_image', $this->__('Loader Splash Screen'),
|
276 |
+
$this->__('Image that appears on first screen while your app is loading.') . $this->__('Required size: %spx x %spx.', 320, 460), '', true);
|
277 |
|
278 |
$this->addImage($fieldset, 'conf/submit/loader_image_i4', $this->__('Loader Splash Screen <br />(iPhone 4 retina)'),
|
279 |
+
$this->__('Image that appears on first screen while your app is loading.') . $this->__('Required size: %spx x %spx.', 640, 920), '', false);
|
280 |
|
281 |
$this->addImage($fieldset, 'conf/submit/logo', $this->__('Custom App Icon'),
|
282 |
+
$this->__('Icon that will appear on the user\'s phone after they download your app. You do not need to apply a gradient or soft edges (this is done automatically by Apple).') . $this->__('Recommended size: %spx x %spx at %s dpi.', 57, 57, 72), '', true);
|
283 |
|
284 |
$this->addImage($fieldset, 'conf/submit/logo_i4', $this->__('Custom App Icon <br />(iPhone 4 retina)'),
|
285 |
+
$this->__('Icon that will appear on the user\'s phone after they download your app. You do not need to apply a gradient or soft edges (this is done automatically by Apple).') . $this->__('Recommended size: %spx x %spx.', 114, 114), '', false);
|
286 |
|
287 |
$this->addImage($fieldset, 'conf/submit/big_logo', $this->__('Copyright Page Logo'),
|
288 |
+
$this->__('Store logo that is displayed on copyright page of app.') . $this->__('Preferred size: %spx x %spx.', 100, 100), '', true);
|
289 |
|
290 |
$this->addImage($fieldset, 'conf/submit/big_logo_i4', $this->__('Copyright Page Logo <br />(iPhone 4 retina)'),
|
291 |
+
$this->__('Store logo that is displayed on copyright page of app.') . $this->__('Preferred size: %spx x %spx.', 200, 200), '', false);
|
292 |
break;
|
293 |
case Mage_XmlConnect_Helper_Data::DEVICE_TYPE_IPAD:
|
294 |
$this->addImage($fieldset, 'conf/submit/icon', $this->__('Large iTunes Icon'),
|
295 |
+
$this->__('Large icon that appears in the iTunes App Store. You do not need to apply a gradient or soft edges (this is done automatically by Apple).') . $this->__('Required size: %spx x %spx.', 512, 512), '', true);
|
296 |
|
297 |
$this->addImage($fieldset, 'conf/submit/ipad_loader_portrait_image', $this->__('Loader Splash Screen <br />(portrait mode)'),
|
298 |
+
$this->__('Image that appears on first screen while your app is loading.') . $this->__('Required size: %spx x %spx.', 768, 1024), '', true);
|
299 |
|
300 |
$this->addImage($fieldset, 'conf/submit/ipad_loader_landscape_image', $this->__('Loader Splash Screen <br />(landscape mode)'),
|
301 |
+
$this->__('Image that appears on first screen while your app is loading.') . $this->__('Required size: %spx x %spx.', 1024, 768), '', true);
|
302 |
|
303 |
$this->addImage($fieldset, 'conf/submit/ipad_logo', $this->__('Custom App Icon'),
|
304 |
+
$this->__('Icon that will appear on the user\'s device after they download your app. You do not need to apply a gradient or soft edges (this is done automatically by Apple).') . $this->__('Recommended size: %spx x %spx.', 72, 72), '', true);
|
305 |
|
306 |
$this->addImage($fieldset, 'conf/submit/big_logo', $this->__('Copyright Page Logo'),
|
307 |
+
$this->__('Store logo that is displayed on copyright page of app.') . $this->__('Preferred size: %spx x %spx.', 100, 100), '', true);
|
308 |
break;
|
309 |
case Mage_XmlConnect_Helper_Data::DEVICE_TYPE_ANDROID:
|
310 |
$this->addImage($fieldset, 'conf/submit/icon', $this->__('High Resolution Application Icon'),
|
311 |
+
$this->__('The icon that appears in the Android Market.') . $this->__('Recommended size: %spx x %spx.', 512, 512) . $this->__('Maximum size: %s KB.', 1024), '', true);
|
312 |
|
313 |
$this->addImage($fieldset, 'conf/submit/android_loader_image', $this->__('Loader Splash Screen'),
|
314 |
+
$this->__('Image that appears on first screen while your app is loading.') . $this->__('Required size: %spx x %spx.', 320, 455), '', true);
|
315 |
|
316 |
$this->addImage($fieldset, 'conf/submit/android_logo', $this->__('Custom App Icon'),
|
317 |
+
$this->__('Icon that will appear on the user\'s device after they download your app.') . $this->__('Recommended size: %spx x %spx.', 48, 48), '', true);
|
318 |
|
319 |
$this->addImage($fieldset, 'conf/submit/big_logo', $this->__('Copyright Page Logo'),
|
320 |
+
$this->__('Store logo that is displayed on copyright page of app.') . $this->__('Preferred size: %spx x %spx.', 100, 100), '', true);
|
321 |
break;
|
322 |
}
|
323 |
|
app/code/core/Mage/XmlConnect/Block/Cart.php
CHANGED
@@ -84,13 +84,13 @@ class Mage_XmlConnect_Block_Cart extends Mage_Checkout_Block_Cart_Abstract
|
|
84 |
}
|
85 |
}
|
86 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
87 |
-
$
|
88 |
if (Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales')
|
89 |
&& $item->getWeeeTaxAppliedAmount()
|
90 |
) {
|
91 |
-
$inclPrice = $
|
92 |
} else {
|
93 |
-
$inclPrice = $
|
94 |
}
|
95 |
}
|
96 |
$exclPrice = Mage::helper('xmlconnect')->formatPriceForXml($exclPrice);
|
@@ -150,13 +150,13 @@ class Mage_XmlConnect_Block_Cart extends Mage_Checkout_Block_Cart_Abstract
|
|
150 |
}
|
151 |
}
|
152 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
153 |
-
$
|
154 |
if (Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales')
|
155 |
&& $item->getWeeeTaxAppliedAmount()
|
156 |
) {
|
157 |
-
$inclPrice = $
|
158 |
} else {
|
159 |
-
$inclPrice = $
|
160 |
}
|
161 |
}
|
162 |
|
@@ -189,14 +189,14 @@ class Mage_XmlConnect_Block_Cart extends Mage_Checkout_Block_Cart_Abstract
|
|
189 |
/**
|
190 |
* Options list
|
191 |
*/
|
192 |
-
$
|
193 |
-
if ($
|
194 |
$itemOptionsXml = $itemXml->addChild('options');
|
195 |
-
foreach ($
|
196 |
-
$
|
197 |
$optionXml = $itemOptionsXml->addChild('option');
|
198 |
-
$optionXml->addAttribute('label', $xmlObject->xmlAttribute($
|
199 |
-
$optionXml->addAttribute('text', $xmlObject->xmlAttribute($
|
200 |
}
|
201 |
}
|
202 |
|
84 |
}
|
85 |
}
|
86 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
87 |
+
$incl = $this->helper('checkout')->getPriceInclTax($item);
|
88 |
if (Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales')
|
89 |
&& $item->getWeeeTaxAppliedAmount()
|
90 |
) {
|
91 |
+
$inclPrice = $incl + $item->getWeeeTaxAppliedAmount();
|
92 |
} else {
|
93 |
+
$inclPrice = $incl - $item->getWeeeTaxDisposition();
|
94 |
}
|
95 |
}
|
96 |
$exclPrice = Mage::helper('xmlconnect')->formatPriceForXml($exclPrice);
|
150 |
}
|
151 |
}
|
152 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
153 |
+
$incl = $this->helper('checkout')->getSubtotalInclTax($item);
|
154 |
if (Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales')
|
155 |
&& $item->getWeeeTaxAppliedAmount()
|
156 |
) {
|
157 |
+
$inclPrice = $incl + $item->getWeeeTaxAppliedRowAmount();
|
158 |
} else {
|
159 |
+
$inclPrice = $incl - $item->getWeeeTaxRowDisposition();
|
160 |
}
|
161 |
}
|
162 |
|
189 |
/**
|
190 |
* Options list
|
191 |
*/
|
192 |
+
$options = $renderer->getOptionList();
|
193 |
+
if ($options) {
|
194 |
$itemOptionsXml = $itemXml->addChild('options');
|
195 |
+
foreach ($options as $option) {
|
196 |
+
$formattedOptionValue = $renderer->getFormatedOptionValue($option);
|
197 |
$optionXml = $itemOptionsXml->addChild('option');
|
198 |
+
$optionXml->addAttribute('label', $xmlObject->xmlAttribute($option['label']));
|
199 |
+
$optionXml->addAttribute('text', $xmlObject->xmlAttribute($formattedOptionValue['value']));
|
200 |
}
|
201 |
}
|
202 |
|
app/code/core/Mage/XmlConnect/Block/Cart/CartTotals.php
CHANGED
@@ -40,13 +40,6 @@ class Mage_XmlConnect_Block_Cart_CartTotals extends Mage_Checkout_Block_Cart_Tot
|
|
40 |
*/
|
41 |
protected $_defaultRenderer = 'xmlconnect/cart_cartTotals_default';
|
42 |
|
43 |
-
/**
|
44 |
-
* Cart xml object
|
45 |
-
*
|
46 |
-
* @var null|Mage_XmlConnect_Model_Simplexml_Element
|
47 |
-
*/
|
48 |
-
protected $_cartXmlObject;
|
49 |
-
|
50 |
/**
|
51 |
* Render cart totals xml
|
52 |
*
|
@@ -99,26 +92,4 @@ class Mage_XmlConnect_Block_Cart_CartTotals extends Mage_Checkout_Block_Cart_Tot
|
|
99 |
$block->setTotals($this->getTotals());
|
100 |
return $block;
|
101 |
}
|
102 |
-
|
103 |
-
/**
|
104 |
-
* Set cart xml object
|
105 |
-
*
|
106 |
-
* @param Mage_XmlConnect_Model_Simplexml_Element $cartXmlObject
|
107 |
-
* @return Mage_XmlConnect_Block_Cart_CartTotals
|
108 |
-
*/
|
109 |
-
public function setCartXmlObject($cartXmlObject)
|
110 |
-
{
|
111 |
-
$this->_cartXmlObject = $cartXmlObject;
|
112 |
-
return $this;
|
113 |
-
}
|
114 |
-
|
115 |
-
/**
|
116 |
-
* Get cart xml object
|
117 |
-
*
|
118 |
-
* @return Mage_XmlConnect_Model_Simplexml_Element|null
|
119 |
-
*/
|
120 |
-
public function getCartXmlObject()
|
121 |
-
{
|
122 |
-
return $this->_cartXmlObject;
|
123 |
-
}
|
124 |
}
|
40 |
*/
|
41 |
protected $_defaultRenderer = 'xmlconnect/cart_cartTotals_default';
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
/**
|
44 |
* Render cart totals xml
|
45 |
*
|
92 |
$block->setTotals($this->getTotals());
|
93 |
return $block;
|
94 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
}
|
app/code/core/Mage/XmlConnect/Block/Cart/CartTotals/Nodes/Giftcardaccount.php
CHANGED
@@ -45,16 +45,16 @@ class Mage_Xmlconnect_Block_Cart_CartTotals_Nodes_Giftcardaccount extends Mage_C
|
|
45 |
}
|
46 |
/** @var $cartXmlObject Mage_XmlConnect_Model_Simplexml_Element */
|
47 |
$cartXmlObject = $this->getCartObject();
|
48 |
-
$
|
49 |
-
if (!$
|
50 |
-
$
|
51 |
}
|
52 |
$code = $this->getTotal()->getCode();
|
53 |
|
54 |
/** @var $giftCardsXmlObj Mage_XmlConnect_Model_Simplexml_Element */
|
55 |
$giftCardsXmlObj = $cartXmlObject->addCustomChild($code);
|
56 |
|
57 |
-
foreach ($
|
58 |
$giftCardValue = Mage::helper('xmlconnect')->formatPriceForXml($cardCode['a']);
|
59 |
$formattedValue = $this->getQuote()->getStore()->formatPrice($giftCardValue, false);
|
60 |
$giftCardsXmlObj->addCustomChild('item', '-' . $giftCardValue, array(
|
45 |
}
|
46 |
/** @var $cartXmlObject Mage_XmlConnect_Model_Simplexml_Element */
|
47 |
$cartXmlObject = $this->getCartObject();
|
48 |
+
$cards = $this->getTotal()->getGiftCards();
|
49 |
+
if (!$cards) {
|
50 |
+
$cards = $this->getQuoteGiftCards();
|
51 |
}
|
52 |
$code = $this->getTotal()->getCode();
|
53 |
|
54 |
/** @var $giftCardsXmlObj Mage_XmlConnect_Model_Simplexml_Element */
|
55 |
$giftCardsXmlObj = $cartXmlObject->addCustomChild($code);
|
56 |
|
57 |
+
foreach ($cards as $cardCode) {
|
58 |
$giftCardValue = Mage::helper('xmlconnect')->formatPriceForXml($cardCode['a']);
|
59 |
$formattedValue = $this->getQuote()->getStore()->formatPrice($giftCardValue, false);
|
60 |
$giftCardsXmlObj->addCustomChild('item', '-' . $giftCardValue, array(
|
app/code/core/Mage/XmlConnect/Block/Cart/Items.php
CHANGED
@@ -77,13 +77,13 @@ class Mage_XmlConnect_Block_Cart_Items extends Mage_Checkout_Block_Cart_Abstract
|
|
77 |
}
|
78 |
}
|
79 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
80 |
-
$
|
81 |
if (Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales')
|
82 |
&& $item->getWeeeTaxAppliedAmount()
|
83 |
) {
|
84 |
-
$inclPrice = $
|
85 |
} else {
|
86 |
-
$inclPrice = $
|
87 |
}
|
88 |
}
|
89 |
$exclPrice = Mage::helper('xmlconnect')->formatPriceForXml($exclPrice);
|
@@ -162,13 +162,13 @@ class Mage_XmlConnect_Block_Cart_Items extends Mage_Checkout_Block_Cart_Abstract
|
|
162 |
}
|
163 |
}
|
164 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
165 |
-
$
|
166 |
if (Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales')
|
167 |
&& $item->getWeeeTaxAppliedAmount()
|
168 |
) {
|
169 |
-
$subtotalInclTax = $
|
170 |
} else {
|
171 |
-
$subtotalInclTax = $
|
172 |
}
|
173 |
}
|
174 |
|
@@ -212,14 +212,14 @@ class Mage_XmlConnect_Block_Cart_Items extends Mage_Checkout_Block_Cart_Abstract
|
|
212 |
/**
|
213 |
* Options list
|
214 |
*/
|
215 |
-
$
|
216 |
-
if ($
|
217 |
$itemOptionsXml = $itemXml->addCustomChild('options');
|
218 |
-
foreach ($
|
219 |
-
$
|
220 |
$itemOptionsXml->addCustomChild('option', null, array(
|
221 |
'label' => $xmlObject->xmlAttribute($_option['label']),
|
222 |
-
'text' => $xmlObject->xmlAttribute($
|
223 |
));
|
224 |
}
|
225 |
}
|
77 |
}
|
78 |
}
|
79 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
80 |
+
$incl = $this->helper('checkout')->getPriceInclTax($item);
|
81 |
if (Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales')
|
82 |
&& $item->getWeeeTaxAppliedAmount()
|
83 |
) {
|
84 |
+
$inclPrice = $incl + $item->getWeeeTaxAppliedAmount();
|
85 |
} else {
|
86 |
+
$inclPrice = $incl - $item->getWeeeTaxDisposition();
|
87 |
}
|
88 |
}
|
89 |
$exclPrice = Mage::helper('xmlconnect')->formatPriceForXml($exclPrice);
|
162 |
}
|
163 |
}
|
164 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
165 |
+
$incl = $this->helper('checkout')->getSubtotalInclTax($item);
|
166 |
if (Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales')
|
167 |
&& $item->getWeeeTaxAppliedAmount()
|
168 |
) {
|
169 |
+
$subtotalInclTax = $incl + $item->getWeeeTaxAppliedRowAmount();
|
170 |
} else {
|
171 |
+
$subtotalInclTax = $incl - $item->getWeeeTaxRowDisposition();
|
172 |
}
|
173 |
}
|
174 |
|
212 |
/**
|
213 |
* Options list
|
214 |
*/
|
215 |
+
$options = $renderer->getOptionList();
|
216 |
+
if ($options) {
|
217 |
$itemOptionsXml = $itemXml->addCustomChild('options');
|
218 |
+
foreach ($options as $_option) {
|
219 |
+
$formattedOptionValue = $renderer->getFormatedOptionValue($_option);
|
220 |
$itemOptionsXml->addCustomChild('option', null, array(
|
221 |
'label' => $xmlObject->xmlAttribute($_option['label']),
|
222 |
+
'text' => $xmlObject->xmlAttribute($formattedOptionValue['value'])
|
223 |
));
|
224 |
}
|
225 |
}
|
app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mecl/Details.php
CHANGED
@@ -42,8 +42,8 @@ class Mage_XmlConnect_Block_Cart_Paypal_Mecl_Details extends Mage_Paypal_Block_E
|
|
42 |
public function addDetailsToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $reviewXmlObj)
|
43 |
{
|
44 |
$itemsXmlObj = $reviewXmlObj->addChild('ordered_items');
|
45 |
-
foreach ($this->getItems() as $
|
46 |
-
$this->getItemXml($
|
47 |
}
|
48 |
|
49 |
$reviewXmlObj->appendChild($this->getChild('totals')->setReturnObjectFlag(true)->_toHtml());
|
42 |
public function addDetailsToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $reviewXmlObj)
|
43 |
{
|
44 |
$itemsXmlObj = $reviewXmlObj->addChild('ordered_items');
|
45 |
+
foreach ($this->getItems() as $item) {
|
46 |
+
$this->getItemXml($item, $itemsXmlObj);
|
47 |
}
|
48 |
|
49 |
$reviewXmlObj->appendChild($this->getChild('totals')->setReturnObjectFlag(true)->_toHtml());
|
app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mecl/OrderDetails.php
CHANGED
@@ -42,8 +42,8 @@ class Mage_XmlConnect_Block_Cart_Paypal_Mecl_OrderDetails extends Mage_Paypal_Bl
|
|
42 |
public function addDetailsToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $reviewXmlObj)
|
43 |
{
|
44 |
$itemsXmlObj = $reviewXmlObj->addChild('ordered_items');
|
45 |
-
foreach ($this->getItems() as $
|
46 |
-
$this->getItemXml($
|
47 |
}
|
48 |
|
49 |
$this->getChild('totals')->setCartXmlObject($reviewXmlObj)->_toHtml();
|
42 |
public function addDetailsToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $reviewXmlObj)
|
43 |
{
|
44 |
$itemsXmlObj = $reviewXmlObj->addChild('ordered_items');
|
45 |
+
foreach ($this->getItems() as $item) {
|
46 |
+
$this->getItemXml($item, $itemsXmlObj);
|
47 |
}
|
48 |
|
49 |
$this->getChild('totals')->setCartXmlObject($reviewXmlObj)->_toHtml();
|
app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mep/Totals.php
CHANGED
@@ -43,7 +43,7 @@ class Mage_XmlConnect_Block_Cart_Paypal_Mep_Totals extends Mage_Checkout_Block_C
|
|
43 |
/** @var $paypalCart Mage_Paypal_Model_Cart */
|
44 |
$paypalCart = Mage::getModel('paypal/cart', array($this->getQuote()));
|
45 |
/** @var $totalsXmlObj Mage_XmlConnect_Model_Simplexml_Element */
|
46 |
-
$totalsXmlObj
|
47 |
foreach ($paypalCart->getTotals(true) as $code => $amount) {
|
48 |
$currencyAmount = $this->helper('core')->currency($amount, false, false);
|
49 |
$totalsXmlObj->addChild($code, sprintf('%01.2F', $currencyAmount));
|
43 |
/** @var $paypalCart Mage_Paypal_Model_Cart */
|
44 |
$paypalCart = Mage::getModel('paypal/cart', array($this->getQuote()));
|
45 |
/** @var $totalsXmlObj Mage_XmlConnect_Model_Simplexml_Element */
|
46 |
+
$totalsXmlObj = Mage::getModel('xmlconnect/simplexml_element', '<cart_totals></cart_totals>');
|
47 |
foreach ($paypalCart->getTotals(true) as $code => $amount) {
|
48 |
$currencyAmount = $this->helper('core')->currency($amount, false, false);
|
49 |
$totalsXmlObj->addChild($code, sprintf('%01.2F', $currencyAmount));
|
app/code/core/Mage/XmlConnect/Block/Cart/Totals.php
CHANGED
@@ -90,7 +90,6 @@ class Mage_XmlConnect_Block_Cart_Totals extends Mage_Checkout_Block_Cart_Totals
|
|
90 |
$this->_addTotalDataToXmlObj(
|
91 |
$totalsXmlObj, $code . '_excl_tax', $title, $grandTotalExlTax
|
92 |
);
|
93 |
-
|
94 |
$code = $code . '_incl_tax';
|
95 |
$title = $this->__('Grand Total (Incl. Tax)');
|
96 |
}
|
@@ -101,12 +100,12 @@ class Mage_XmlConnect_Block_Cart_Totals extends Mage_Checkout_Block_Cart_Totals
|
|
101 |
}
|
102 |
continue 2;
|
103 |
case 'giftcardaccount':
|
104 |
-
$
|
105 |
-
if (!$
|
106 |
-
$
|
107 |
}
|
108 |
if ($renderer->getTotal()->getValue()) {
|
109 |
-
foreach ($
|
110 |
$title = $this->__('Gift Card (%s)', $cardCode['c']);
|
111 |
$value = $cardCode['c'];
|
112 |
$totalXmlObj = $totalsXmlObj->addChild($code);
|
90 |
$this->_addTotalDataToXmlObj(
|
91 |
$totalsXmlObj, $code . '_excl_tax', $title, $grandTotalExlTax
|
92 |
);
|
|
|
93 |
$code = $code . '_incl_tax';
|
94 |
$title = $this->__('Grand Total (Incl. Tax)');
|
95 |
}
|
100 |
}
|
101 |
continue 2;
|
102 |
case 'giftcardaccount':
|
103 |
+
$cards = $renderer->getTotal()->getGiftCards();
|
104 |
+
if (!$cards) {
|
105 |
+
$cards = $renderer->getQuoteGiftCards();
|
106 |
}
|
107 |
if ($renderer->getTotal()->getValue()) {
|
108 |
+
foreach ($cards as $cardCode) {
|
109 |
$title = $this->__('Gift Card (%s)', $cardCode['c']);
|
110 |
$value = $cardCode['c'];
|
111 |
$totalXmlObj = $totalsXmlObj->addChild($code);
|
app/code/core/Mage/XmlConnect/Block/Catalog.php
CHANGED
@@ -116,13 +116,13 @@ class Mage_XmlConnect_Block_Catalog extends Mage_Catalog_Block_Product_List_Tool
|
|
116 |
$sortOptions = array_merge(array('relevance' => $this->__('Relevance')), $sortOptions);
|
117 |
$this->setAvailableOrders($sortOptions)->setDefaultDirection('desc')->setSortBy('relevance');
|
118 |
|
119 |
-
foreach($this->getAvailableOrders() as $
|
120 |
$item = $ordersXmlObject->addChild('item');
|
121 |
-
if ($this->isOrderCurrent($
|
122 |
$item->addAttribute('isDefault', 1);
|
123 |
}
|
124 |
-
$item->addChild('code', $
|
125 |
-
$item->addChild('name', $ordersXmlObject->escapeXml($
|
126 |
}
|
127 |
return $ordersXmlObject;
|
128 |
}
|
116 |
$sortOptions = array_merge(array('relevance' => $this->__('Relevance')), $sortOptions);
|
117 |
$this->setAvailableOrders($sortOptions)->setDefaultDirection('desc')->setSortBy('relevance');
|
118 |
|
119 |
+
foreach($this->getAvailableOrders() as $key => $order) {
|
120 |
$item = $ordersXmlObject->addChild('item');
|
121 |
+
if ($this->isOrderCurrent($key)) {
|
122 |
$item->addAttribute('isDefault', 1);
|
123 |
}
|
124 |
+
$item->addChild('code', $key);
|
125 |
+
$item->addChild('name', $ordersXmlObject->escapeXml($order));
|
126 |
}
|
127 |
return $ordersXmlObject;
|
128 |
}
|
app/code/core/Mage/XmlConnect/Block/Catalog/Product/ItemPrice/Giftcard.php
CHANGED
@@ -66,30 +66,31 @@ class Mage_XmlConnect_Block_Catalog_Product_ItemPrice_Giftcard extends Mage_Bund
|
|
66 |
*
|
67 |
* @param Mage_Catalog_Model_Product $product
|
68 |
* @param Mage_XmlConnect_Model_Simplexml_Element $item
|
|
|
69 |
*/
|
70 |
-
public function collectProductPrices(
|
71 |
-
|
72 |
-
|
73 |
$this->setProduct($product);
|
74 |
|
75 |
if ($product->getCanShowPrice() !== false) {
|
76 |
$priceListXmlObj = $item->addCustomChild('price_list');
|
77 |
|
78 |
-
$
|
79 |
-
$
|
80 |
-
if ($
|
81 |
$pricesXmlObj = $priceListXmlObj->addCustomChild('prices', null, array('id' => 'price'));
|
82 |
-
$pricesXmlObj->addCustomChild('price', $
|
83 |
'id' => 'regular',
|
84 |
'label' => $this->__('Regular'),
|
85 |
-
'formatted_value' => Mage::helper('core')->currency($
|
86 |
));
|
87 |
-
} elseif ($
|
88 |
$pricesXmlObj = $priceListXmlObj->addCustomChild('prices', null, array('id' => 'price'));
|
89 |
-
$pricesXmlObj->addCustomChild('price', $
|
90 |
'id' => 'regular',
|
91 |
'label' => $this->__('From'),
|
92 |
-
'formatted_value' => Mage::helper('core')->currency($
|
93 |
));
|
94 |
}
|
95 |
}
|
66 |
*
|
67 |
* @param Mage_Catalog_Model_Product $product
|
68 |
* @param Mage_XmlConnect_Model_Simplexml_Element $item
|
69 |
+
* @return null
|
70 |
*/
|
71 |
+
public function collectProductPrices(Mage_Catalog_Model_Product $product,
|
72 |
+
Mage_XmlConnect_Model_Simplexml_Element $item)
|
73 |
+
{
|
74 |
$this->setProduct($product);
|
75 |
|
76 |
if ($product->getCanShowPrice() !== false) {
|
77 |
$priceListXmlObj = $item->addCustomChild('price_list');
|
78 |
|
79 |
+
$min = $this->getMinAmount();
|
80 |
+
$max = $this->getMaxAmount();
|
81 |
+
if ($min && $max && $min == $max) {
|
82 |
$pricesXmlObj = $priceListXmlObj->addCustomChild('prices', null, array('id' => 'price'));
|
83 |
+
$pricesXmlObj->addCustomChild('price', $min, array(
|
84 |
'id' => 'regular',
|
85 |
'label' => $this->__('Regular'),
|
86 |
+
'formatted_value' => Mage::helper('core')->currency($min, true, false)
|
87 |
));
|
88 |
+
} elseif ($min && $min != 0) {
|
89 |
$pricesXmlObj = $priceListXmlObj->addCustomChild('prices', null, array('id' => 'price'));
|
90 |
+
$pricesXmlObj->addCustomChild('price', $min, array(
|
91 |
'id' => 'regular',
|
92 |
'label' => $this->__('From'),
|
93 |
+
'formatted_value' => Mage::helper('core')->currency($min, true, false)
|
94 |
));
|
95 |
}
|
96 |
}
|
app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options.php
CHANGED
@@ -64,7 +64,7 @@ class Mage_XmlConnect_Block_Catalog_Product_Options extends Mage_XmlConnect_Bloc
|
|
64 |
}
|
65 |
|
66 |
/**
|
67 |
-
* Create
|
68 |
*
|
69 |
* @param Mage_Catalog_Model_Product $product
|
70 |
* @return Mage_XmlConnect_Model_Simplexml_Element
|
@@ -189,7 +189,7 @@ class Mage_XmlConnect_Block_Catalog_Product_Options extends Mage_XmlConnect_Bloc
|
|
189 |
}
|
190 |
|
191 |
/**
|
192 |
-
* Create
|
193 |
*
|
194 |
* @param Mage_Catalog_Model_Product $product
|
195 |
* @return Mage_XmlConnect_Model_Simplexml_Element | false
|
64 |
}
|
65 |
|
66 |
/**
|
67 |
+
* Create produc custom options Mage_XmlConnect_Model_Simplexml_Element object
|
68 |
*
|
69 |
* @param Mage_Catalog_Model_Product $product
|
70 |
* @return Mage_XmlConnect_Model_Simplexml_Element
|
189 |
}
|
190 |
|
191 |
/**
|
192 |
+
* Create product custom options Mage_XmlConnect_Model_Simplexml_Element object
|
193 |
*
|
194 |
* @param Mage_Catalog_Model_Product $product
|
195 |
* @return Mage_XmlConnect_Model_Simplexml_Element | false
|
app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Bundle.php
CHANGED
@@ -66,9 +66,9 @@ class Mage_XmlConnect_Block_Catalog_Product_Options_Bundle extends Mage_XmlConne
|
|
66 |
return $isObject ? $xmlModel : $xmlModel->asNiceXml();
|
67 |
}
|
68 |
|
69 |
-
foreach ($bundleOptions as $
|
70 |
-
$selections = $
|
71 |
-
$optionId = $
|
72 |
if (empty($selections)) {
|
73 |
continue;
|
74 |
}
|
@@ -76,43 +76,43 @@ class Mage_XmlConnect_Block_Catalog_Product_Options_Bundle extends Mage_XmlConne
|
|
76 |
$optionNode = $optionsXmlObj->addChild('option');
|
77 |
|
78 |
$type = parent::OPTION_TYPE_SELECT;
|
79 |
-
if ($
|
80 |
$type = parent::OPTION_TYPE_CHECKBOX;
|
81 |
}
|
82 |
-
$code = 'bundle_option[' . $
|
83 |
if ($type == parent::OPTION_TYPE_CHECKBOX) {
|
84 |
$code .= '[]';
|
85 |
}
|
86 |
$optionNode->addAttribute('code', $code);
|
87 |
$optionNode->addAttribute('type', $type);
|
88 |
-
$optionNode->addAttribute('label', $optionsXmlObj->escapeXml($
|
89 |
-
if ($
|
90 |
$optionNode->addAttribute('is_required', 1);
|
91 |
}
|
92 |
|
93 |
-
foreach ($selections as $
|
94 |
-
if (!$
|
95 |
continue;
|
96 |
}
|
97 |
-
$
|
98 |
if ($product->hasPreconfiguredValues()) {
|
99 |
-
$
|
100 |
}
|
101 |
-
if (null === $
|
102 |
-
$
|
103 |
}
|
104 |
|
105 |
$valueNode = $optionNode->addChild('value');
|
106 |
-
$valueNode->addAttribute('code', $
|
107 |
-
$valueNode->addAttribute('label', $optionsXmlObj->escapeXml($
|
108 |
-
if (!$
|
109 |
-
if ($
|
110 |
$valueNode->addAttribute('is_qty_editable', 1);
|
111 |
}
|
112 |
}
|
113 |
-
$valueNode->addAttribute('qty', $
|
114 |
|
115 |
-
$price = $product->getPriceModel()->getSelectionPreFinalPrice($product, $
|
116 |
$price = Mage::helper('xmlconnect')->formatPriceForXml($price);
|
117 |
if ((float)$price != 0.00) {
|
118 |
$valueNode->addAttribute('price', Mage::helper('xmlconnect')->formatPriceForXml(
|
@@ -123,7 +123,7 @@ class Mage_XmlConnect_Block_Catalog_Product_Options_Bundle extends Mage_XmlConne
|
|
123 |
|
124 |
if ($product->hasPreconfiguredValues()) {
|
125 |
$this->_setCartSelectedValue($valueNode, $type, $this->_getPreconfiguredOption(
|
126 |
-
$optionData, $optionId, $
|
127 |
));
|
128 |
}
|
129 |
}
|
66 |
return $isObject ? $xmlModel : $xmlModel->asNiceXml();
|
67 |
}
|
68 |
|
69 |
+
foreach ($bundleOptions as $option) {
|
70 |
+
$selections = $option->getSelections();
|
71 |
+
$optionId = $option->getOptionId();
|
72 |
if (empty($selections)) {
|
73 |
continue;
|
74 |
}
|
76 |
$optionNode = $optionsXmlObj->addChild('option');
|
77 |
|
78 |
$type = parent::OPTION_TYPE_SELECT;
|
79 |
+
if ($option->isMultiSelection()) {
|
80 |
$type = parent::OPTION_TYPE_CHECKBOX;
|
81 |
}
|
82 |
+
$code = 'bundle_option[' . $option->getId() . ']';
|
83 |
if ($type == parent::OPTION_TYPE_CHECKBOX) {
|
84 |
$code .= '[]';
|
85 |
}
|
86 |
$optionNode->addAttribute('code', $code);
|
87 |
$optionNode->addAttribute('type', $type);
|
88 |
+
$optionNode->addAttribute('label', $optionsXmlObj->escapeXml($option->getTitle()));
|
89 |
+
if ($option->getRequired()) {
|
90 |
$optionNode->addAttribute('is_required', 1);
|
91 |
}
|
92 |
|
93 |
+
foreach ($selections as $selection) {
|
94 |
+
if (!$selection->isSaleable()) {
|
95 |
continue;
|
96 |
}
|
97 |
+
$qty = null;
|
98 |
if ($product->hasPreconfiguredValues()) {
|
99 |
+
$qty = $product->getPreconfiguredValues()->getData("bundle_option_qty/{$optionId}");
|
100 |
}
|
101 |
+
if (null === $qty) {
|
102 |
+
$qty = !($selection->getSelectionQty() * 1) ? '1' : $selection->getSelectionQty() * 1;
|
103 |
}
|
104 |
|
105 |
$valueNode = $optionNode->addChild('value');
|
106 |
+
$valueNode->addAttribute('code', $selection->getSelectionId());
|
107 |
+
$valueNode->addAttribute('label', $optionsXmlObj->escapeXml($selection->getName()));
|
108 |
+
if (!$option->isMultiSelection()) {
|
109 |
+
if ($selection->getSelectionCanChangeQty()) {
|
110 |
$valueNode->addAttribute('is_qty_editable', 1);
|
111 |
}
|
112 |
}
|
113 |
+
$valueNode->addAttribute('qty', $qty);
|
114 |
|
115 |
+
$price = $product->getPriceModel()->getSelectionPreFinalPrice($product, $selection);
|
116 |
$price = Mage::helper('xmlconnect')->formatPriceForXml($price);
|
117 |
if ((float)$price != 0.00) {
|
118 |
$valueNode->addAttribute('price', Mage::helper('xmlconnect')->formatPriceForXml(
|
123 |
|
124 |
if ($product->hasPreconfiguredValues()) {
|
125 |
$this->_setCartSelectedValue($valueNode, $type, $this->_getPreconfiguredOption(
|
126 |
+
$optionData, $optionId, $selection->getSelectionId()
|
127 |
));
|
128 |
}
|
129 |
}
|
app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Configurable.php
CHANGED
@@ -57,28 +57,28 @@ class Mage_XmlConnect_Block_Catalog_Product_Options_Configurable extends Mage_Xm
|
|
57 |
/**
|
58 |
* Configurable attributes
|
59 |
*/
|
60 |
-
$
|
61 |
-
if (!sizeof($
|
62 |
return $isObject ? $xmlModel : $xmlModel->asNiceXml();
|
63 |
}
|
64 |
|
65 |
-
$
|
66 |
-
$
|
67 |
-
foreach ($
|
68 |
-
if ($
|
69 |
-
$
|
70 |
}
|
71 |
}
|
72 |
|
73 |
/**
|
74 |
* Allowed products options
|
75 |
*/
|
76 |
-
foreach ($
|
77 |
-
$
|
78 |
|
79 |
-
foreach ($
|
80 |
$productAttribute = $attribute->getProductAttribute();
|
81 |
-
$attributeValue = $
|
82 |
if (!isset($options[$productAttribute->getId()])) {
|
83 |
$options[$productAttribute->getId()] = array();
|
84 |
}
|
@@ -86,11 +86,11 @@ class Mage_XmlConnect_Block_Catalog_Product_Options_Configurable extends Mage_Xm
|
|
86 |
if (!isset($options[$productAttribute->getId()][$attributeValue])) {
|
87 |
$options[$productAttribute->getId()][$attributeValue] = array();
|
88 |
}
|
89 |
-
$options[$productAttribute->getId()][$attributeValue][] = $
|
90 |
}
|
91 |
}
|
92 |
|
93 |
-
foreach ($
|
94 |
$productAttribute = $attribute->getProductAttribute();
|
95 |
$attributeId = $productAttribute->getId();
|
96 |
$info = array(
|
@@ -129,8 +129,8 @@ class Mage_XmlConnect_Block_Catalog_Product_Options_Configurable extends Mage_Xm
|
|
129 |
|
130 |
$isFirst = true;
|
131 |
|
132 |
-
$
|
133 |
-
reset($
|
134 |
foreach ($attributes as $id => $attribute) {
|
135 |
$optionNode = $optionsXmlObj->addChild('option');
|
136 |
$optionNode->addAttribute('code', 'super_attribute[' . $id . ']');
|
@@ -146,8 +146,8 @@ class Mage_XmlConnect_Block_Catalog_Product_Options_Configurable extends Mage_Xm
|
|
146 |
$valueNode->addAttribute('price', $option['price']);
|
147 |
$valueNode->addAttribute('formated_price', $option['formated_price']);
|
148 |
}
|
149 |
-
if (sizeof($
|
150 |
-
$this->_prepareRecursivelyRelatedValues($valueNode, $
|
151 |
}
|
152 |
if ($product->hasPreconfiguredValues()) {
|
153 |
$this->_setCartSelectedValue($valueNode, 'select', $this->_getPreconfiguredOption(
|
@@ -194,21 +194,21 @@ class Mage_XmlConnect_Block_Catalog_Product_Options_Configurable extends Mage_Xm
|
|
194 |
$relatedNode->addAttribute('to', 'super_attribute[' . $attrId . ']');
|
195 |
}
|
196 |
|
197 |
-
$
|
198 |
-
$
|
199 |
-
$
|
200 |
if ((float)$option['price'] != 0.00) {
|
201 |
-
$
|
202 |
-
$
|
203 |
}
|
204 |
|
205 |
/**
|
206 |
* Recursive relation adding
|
207 |
*/
|
208 |
-
$
|
209 |
-
if (next($
|
210 |
-
reset($
|
211 |
-
$this->_prepareRecursivelyRelatedValues($
|
212 |
}
|
213 |
}
|
214 |
}
|
57 |
/**
|
58 |
* Configurable attributes
|
59 |
*/
|
60 |
+
$productAttributes = $product->getTypeInstance(true)->getConfigurableAttributes($product);
|
61 |
+
if (!sizeof($productAttributes)) {
|
62 |
return $isObject ? $xmlModel : $xmlModel->asNiceXml();
|
63 |
}
|
64 |
|
65 |
+
$allowProducts = array();
|
66 |
+
$allProducts = $product->getTypeInstance(true)->getUsedProducts(null, $product);
|
67 |
+
foreach ($allProducts as $productItem) {
|
68 |
+
if ($productItem->isSaleable()) {
|
69 |
+
$allowProducts[] = $productItem;
|
70 |
}
|
71 |
}
|
72 |
|
73 |
/**
|
74 |
* Allowed products options
|
75 |
*/
|
76 |
+
foreach ($allowProducts as $item) {
|
77 |
+
$productId = $item->getId();
|
78 |
|
79 |
+
foreach ($productAttributes as $attribute) {
|
80 |
$productAttribute = $attribute->getProductAttribute();
|
81 |
+
$attributeValue = $item->getData($productAttribute->getAttributeCode());
|
82 |
if (!isset($options[$productAttribute->getId()])) {
|
83 |
$options[$productAttribute->getId()] = array();
|
84 |
}
|
86 |
if (!isset($options[$productAttribute->getId()][$attributeValue])) {
|
87 |
$options[$productAttribute->getId()][$attributeValue] = array();
|
88 |
}
|
89 |
+
$options[$productAttribute->getId()][$attributeValue][] = $productId;
|
90 |
}
|
91 |
}
|
92 |
|
93 |
+
foreach ($productAttributes as $attribute) {
|
94 |
$productAttribute = $attribute->getProductAttribute();
|
95 |
$attributeId = $productAttribute->getId();
|
96 |
$info = array(
|
129 |
|
130 |
$isFirst = true;
|
131 |
|
132 |
+
$productAttributes = $attributes;
|
133 |
+
reset($productAttributes);
|
134 |
foreach ($attributes as $id => $attribute) {
|
135 |
$optionNode = $optionsXmlObj->addChild('option');
|
136 |
$optionNode->addAttribute('code', 'super_attribute[' . $id . ']');
|
146 |
$valueNode->addAttribute('price', $option['price']);
|
147 |
$valueNode->addAttribute('formated_price', $option['formated_price']);
|
148 |
}
|
149 |
+
if (sizeof($productAttributes) > 1) {
|
150 |
+
$this->_prepareRecursivelyRelatedValues($valueNode, $productAttributes, $option['products'], 1);
|
151 |
}
|
152 |
if ($product->hasPreconfiguredValues()) {
|
153 |
$this->_setCartSelectedValue($valueNode, 'select', $this->_getPreconfiguredOption(
|
194 |
$relatedNode->addAttribute('to', 'super_attribute[' . $attrId . ']');
|
195 |
}
|
196 |
|
197 |
+
$nodeValue = $relatedNode->addChild('value');
|
198 |
+
$nodeValue->addAttribute('code', $option['id']);
|
199 |
+
$nodeValue->addAttribute('label', $nodeValue->escapeXml($option['label']));
|
200 |
if ((float)$option['price'] != 0.00) {
|
201 |
+
$nodeValue->addAttribute('price', $option['price']);
|
202 |
+
$nodeValue->addAttribute('formated_price', $option['formated_price']);
|
203 |
}
|
204 |
|
205 |
/**
|
206 |
* Recursive relation adding
|
207 |
*/
|
208 |
+
$attrClone = $attributes;
|
209 |
+
if (next($attrClone) != false) {
|
210 |
+
reset($attrClone);
|
211 |
+
$this->_prepareRecursivelyRelatedValues($nodeValue, $attrClone, $intersect, $cycle + 1);
|
212 |
}
|
213 |
}
|
214 |
}
|
app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Grouped.php
CHANGED
@@ -55,30 +55,30 @@ class Mage_XmlConnect_Block_Catalog_Product_Options_Grouped extends Mage_XmlConn
|
|
55 |
/**
|
56 |
* Grouped (associated) products
|
57 |
*/
|
58 |
-
$
|
59 |
-
if (!sizeof($
|
60 |
return $isObject ? $xmlModel : $xmlModel->asNiceXml();
|
61 |
}
|
62 |
|
63 |
-
foreach ($
|
64 |
-
if (!$
|
65 |
continue;
|
66 |
}
|
67 |
$optionNode = $optionsNode->addChild('option');
|
68 |
|
69 |
-
$optionNode->addAttribute('code', 'super_group[' . $
|
70 |
$optionNode->addAttribute('type', 'product');
|
71 |
-
$optionNode->addAttribute('label', $xmlModel->escapeXml($
|
72 |
$optionNode->addAttribute('is_qty_editable', 1);
|
73 |
-
$optionNode->addAttribute('qty', $
|
74 |
|
75 |
/**
|
76 |
* Process product price
|
77 |
*/
|
78 |
-
if ($
|
79 |
-
$productPrice = $
|
80 |
} else {
|
81 |
-
$productPrice = $
|
82 |
}
|
83 |
|
84 |
if ($productPrice != 0) {
|
55 |
/**
|
56 |
* Grouped (associated) products
|
57 |
*/
|
58 |
+
$associatedProducts = $product->getTypeInstance(true)->getAssociatedProducts($product);
|
59 |
+
if (!sizeof($associatedProducts)) {
|
60 |
return $isObject ? $xmlModel : $xmlModel->asNiceXml();
|
61 |
}
|
62 |
|
63 |
+
foreach ($associatedProducts as $item) {
|
64 |
+
if (!$item->isSaleable()) {
|
65 |
continue;
|
66 |
}
|
67 |
$optionNode = $optionsNode->addChild('option');
|
68 |
|
69 |
+
$optionNode->addAttribute('code', 'super_group[' . $item->getId() . ']');
|
70 |
$optionNode->addAttribute('type', 'product');
|
71 |
+
$optionNode->addAttribute('label', $xmlModel->escapeXml($item->getName()));
|
72 |
$optionNode->addAttribute('is_qty_editable', 1);
|
73 |
+
$optionNode->addAttribute('qty', $item->getQty()*1);
|
74 |
|
75 |
/**
|
76 |
* Process product price
|
77 |
*/
|
78 |
+
if ($item->getPrice() != $item->getFinalPrice()) {
|
79 |
+
$productPrice = $item->getFinalPrice();
|
80 |
} else {
|
81 |
+
$productPrice = $item->getPrice();
|
82 |
}
|
83 |
|
84 |
if ($productPrice != 0) {
|
app/code/core/Mage/XmlConnect/Block/Catalog/Product/Price/Bundle.php
CHANGED
@@ -39,9 +39,9 @@ class Mage_XmlConnect_Block_Catalog_Product_Price_Bundle extends Mage_Bundle_Blo
|
|
39 |
* @param Mage_Catalog_Model_Product $product
|
40 |
* @param Mage_XmlConnect_Model_Simplexml_Element $item
|
41 |
*/
|
42 |
-
public function collectProductPrices(
|
43 |
-
|
44 |
-
|
45 |
$this->setProduct($product)->setDisplayMinimalPrice(true)->setUseLinkForAsLowAs(false);
|
46 |
|
47 |
$priceXmlObj = $item->addChild('price');
|
39 |
* @param Mage_Catalog_Model_Product $product
|
40 |
* @param Mage_XmlConnect_Model_Simplexml_Element $item
|
41 |
*/
|
42 |
+
public function collectProductPrices(Mage_Catalog_Model_Product $product,
|
43 |
+
Mage_XmlConnect_Model_Simplexml_Element $item)
|
44 |
+
{
|
45 |
$this->setProduct($product)->setDisplayMinimalPrice(true)->setUseLinkForAsLowAs(false);
|
46 |
|
47 |
$priceXmlObj = $item->addChild('price');
|
app/code/core/Mage/XmlConnect/Block/Catalog/Product/Price/Default.php
CHANGED
@@ -39,321 +39,321 @@ class Mage_XmlConnect_Block_Catalog_Product_Price_Default extends Mage_Catalog_B
|
|
39 |
* @param Mage_Catalog_Model_Product $product
|
40 |
* @param Mage_XmlConnect_Model_Simplexml_Element $item
|
41 |
*/
|
42 |
-
public function collectProductPrices(
|
43 |
-
|
44 |
-
|
45 |
$this->setProduct($product)->setDisplayMinimalPrice(true)->setUseLinkForAsLowAs(false);
|
46 |
|
47 |
$priceXmlObj = $item->addChild('price');
|
48 |
-
$
|
49 |
-
if (count($
|
50 |
$tierPricesTextArray = $item->escapeXml(implode(
|
51 |
-
PHP_EOL, $this->_getTierPricesTextArray($
|
52 |
));
|
53 |
$item->addCustomChild('price_tier', $tierPricesTextArray);
|
54 |
}
|
55 |
|
56 |
-
/** @var $
|
57 |
-
$
|
58 |
-
/** @var $
|
59 |
-
$
|
60 |
-
/** @var $
|
61 |
-
$
|
62 |
|
63 |
-
$
|
64 |
-
$
|
65 |
-
$
|
66 |
|
67 |
if (!$product->isGrouped()) {
|
68 |
-
$
|
69 |
-
if ($
|
70 |
-
$
|
71 |
-
$
|
72 |
}
|
73 |
|
74 |
-
$
|
75 |
-
$
|
76 |
-
$
|
77 |
-
$
|
78 |
-
$
|
79 |
-
if ($
|
80 |
-
if ($
|
81 |
/**
|
82 |
* Including
|
83 |
*/
|
84 |
-
if ($
|
85 |
$priceXmlObj->addAttribute(
|
86 |
-
'excluding_tax', $
|
87 |
);
|
88 |
$priceXmlObj->addAttribute(
|
89 |
-
'including_tax', $
|
90 |
);
|
91 |
-
} elseif ($
|
92 |
/**
|
93 |
* Including + Weee
|
94 |
*/
|
95 |
$priceXmlObj->addAttribute(
|
96 |
-
'excluding_tax', $
|
97 |
);
|
98 |
$priceXmlObj->addAttribute(
|
99 |
-
'including_tax', $
|
100 |
);
|
101 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
102 |
-
$
|
103 |
-
$weeeXmlObj->addAttribute('separator', $
|
104 |
-
foreach ($
|
105 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
106 |
$weeeItemXmlObj->addAttribute(
|
107 |
-
'name', $weeeItemXmlObj->escapeXml($
|
108 |
);
|
109 |
$weeeItemXmlObj->addAttribute(
|
110 |
-
'amount', $
|
111 |
);
|
112 |
}
|
113 |
-
} elseif ($
|
114 |
/**
|
115 |
* Including + Weee
|
116 |
*/
|
117 |
$priceXmlObj->addAttribute(
|
118 |
-
'excluding_tax', $
|
119 |
);
|
120 |
$priceXmlObj->addAttribute(
|
121 |
-
'including_tax', $
|
122 |
);
|
123 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
124 |
-
$
|
125 |
-
$weeeXmlObj->addAttribute('separator', $
|
126 |
-
foreach ($
|
127 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
128 |
$weeeItemXmlObj->addAttribute(
|
129 |
-
'name', $weeeItemXmlObj->escapeXml($
|
130 |
);
|
131 |
-
$weeeItemXmlObj->addAttribute('amount', $
|
132 |
-
$
|
133 |
));
|
134 |
}
|
135 |
-
} elseif ($
|
136 |
/**
|
137 |
* Excluding + Weee + Final
|
138 |
*/
|
139 |
-
$priceXmlObj->addAttribute('excluding_tax', $
|
140 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
141 |
-
foreach ($
|
142 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
143 |
$weeeItemXmlObj->addAttribute(
|
144 |
-
'name', $weeeItemXmlObj->escapeXml($
|
145 |
);
|
146 |
$weeeItemXmlObj->addAttribute(
|
147 |
-
'amount', $
|
148 |
);
|
149 |
}
|
150 |
-
$priceXmlObj->addAttribute('including_tax', $
|
151 |
-
$
|
152 |
));
|
153 |
} else {
|
154 |
-
$priceXmlObj->addAttribute('excluding_tax', $
|
155 |
$priceXmlObj->addAttribute(
|
156 |
-
'including_tax', $
|
157 |
);
|
158 |
}
|
159 |
/**
|
160 |
-
* if ($
|
161 |
*/
|
162 |
} else {
|
163 |
/**
|
164 |
* Including
|
165 |
*/
|
166 |
-
if ($
|
167 |
-
$priceXmlObj->addAttribute('regular', $
|
168 |
-
$
|
169 |
));
|
170 |
-
} elseif ($
|
171 |
/**
|
172 |
* Including + Weee
|
173 |
*/
|
174 |
-
$priceXmlObj->addAttribute('regular', $
|
175 |
-
$
|
176 |
));
|
177 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
178 |
-
$
|
179 |
-
$weeeXmlObj->addAttribute('separator', $
|
180 |
-
foreach ($
|
181 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
182 |
$weeeItemXmlObj->addAttribute(
|
183 |
-
'name', $weeeItemXmlObj->escapeXml($
|
184 |
);
|
185 |
$weeeItemXmlObj->addAttribute(
|
186 |
-
'amount', $
|
187 |
);
|
188 |
}
|
189 |
-
} elseif ($
|
190 |
/**
|
191 |
* Including + Weee
|
192 |
*/
|
193 |
-
$priceXmlObj->addAttribute('regular', $
|
194 |
-
$
|
195 |
));
|
196 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
197 |
-
$
|
198 |
-
$weeeXmlObj->addAttribute('separator', $
|
199 |
-
foreach ($
|
200 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
201 |
$weeeItemXmlObj->addAttribute(
|
202 |
-
'name', $weeeItemXmlObj->escapeXml($
|
203 |
);
|
204 |
-
$weeeItemXmlObj->addAttribute('amount', $
|
205 |
-
$
|
206 |
));
|
207 |
}
|
208 |
-
} elseif ($
|
209 |
/**
|
210 |
* Excluding + Weee + Final
|
211 |
*/
|
212 |
-
$priceXmlObj->addAttribute('regular', $
|
213 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
214 |
-
foreach ($
|
215 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
216 |
$weeeItemXmlObj->addAttribute(
|
217 |
-
'name', $weeeItemXmlObj->escapeXml($
|
218 |
);
|
219 |
$weeeItemXmlObj->addAttribute(
|
220 |
-
'amount', $
|
221 |
);
|
222 |
}
|
223 |
$priceXmlObj->addAttribute(
|
224 |
-
'including_tax', $
|
225 |
);
|
226 |
} else {
|
227 |
-
$priceXmlObj->addAttribute('regular', $
|
228 |
}
|
229 |
}
|
230 |
/**
|
231 |
-
* if ($
|
232 |
*/
|
233 |
} else {
|
234 |
-
$
|
235 |
/**
|
236 |
* Including
|
237 |
*/
|
238 |
-
if ($
|
239 |
-
$priceXmlObj->addAttribute('regular', $
|
240 |
-
$
|
241 |
));
|
242 |
-
if ($
|
243 |
-
$priceXmlObj->addAttribute('special_excluding_tax', $
|
244 |
-
$
|
245 |
));
|
246 |
-
$priceXmlObj->addAttribute('special_including_tax', $
|
247 |
-
$
|
248 |
));
|
249 |
} else {
|
250 |
-
$priceXmlObj->addAttribute('special', $
|
251 |
-
$
|
252 |
));
|
253 |
}
|
254 |
-
} elseif ($
|
255 |
/**
|
256 |
* Including + Weee
|
257 |
*/
|
258 |
-
$priceXmlObj->addAttribute('regular', $
|
259 |
-
$
|
260 |
));
|
261 |
-
$priceXmlObj->addAttribute('special_excluding_tax', $
|
262 |
-
$
|
263 |
));
|
264 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
265 |
-
$
|
266 |
-
$weeeXmlObj->addAttribute('separator', $
|
267 |
-
foreach ($
|
268 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
269 |
$weeeItemXmlObj->addAttribute(
|
270 |
-
'name', $weeeItemXmlObj->escapeXml($
|
271 |
);
|
272 |
-
$weeeItemXmlObj->addAttribute('amount', $
|
273 |
-
$
|
274 |
));
|
275 |
}
|
276 |
-
$priceXmlObj->addAttribute('special_including_tax', $
|
277 |
-
$
|
278 |
));
|
279 |
-
} elseif ($
|
280 |
/**
|
281 |
* Including + Weee
|
282 |
*/
|
283 |
-
$priceXmlObj->addAttribute('regular', $
|
284 |
-
$
|
285 |
));
|
286 |
-
$priceXmlObj->addAttribute('special_excluding_tax', $
|
287 |
-
$
|
288 |
));
|
289 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
290 |
-
$
|
291 |
-
$weeeXmlObj->addAttribute('separator', $
|
292 |
-
foreach ($
|
293 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
294 |
$weeeItemXmlObj->addAttribute(
|
295 |
-
'name', $weeeItemXmlObj->escapeXml($
|
296 |
);
|
297 |
-
$weeeItemXmlObj->addAttribute('amount', $
|
298 |
-
$
|
299 |
));
|
300 |
}
|
301 |
-
$priceXmlObj->addAttribute('special_including_tax', $
|
302 |
-
$
|
303 |
));
|
304 |
-
} elseif ($
|
305 |
/**
|
306 |
* Excluding + Weee + Final
|
307 |
*/
|
308 |
-
$priceXmlObj->addAttribute('regular', $
|
309 |
$priceXmlObj->addAttribute(
|
310 |
-
'special_excluding_tax', $
|
311 |
);
|
312 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
313 |
-
foreach ($
|
314 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
315 |
$weeeItemXmlObj->addAttribute(
|
316 |
-
'name', $weeeItemXmlObj->escapeXml($
|
317 |
);
|
318 |
-
$weeeItemXmlObj->addAttribute('amount', $
|
319 |
-
$
|
320 |
));
|
321 |
}
|
322 |
-
$priceXmlObj->addAttribute('special_including_tax', $
|
323 |
-
$
|
324 |
));
|
325 |
} else {
|
326 |
/**
|
327 |
* Excluding
|
328 |
*/
|
329 |
-
$priceXmlObj->addAttribute('regular', $
|
330 |
-
if ($
|
331 |
$priceXmlObj->addAttribute(
|
332 |
-
'special_excluding_tax', $
|
333 |
);
|
334 |
$priceXmlObj->addAttribute(
|
335 |
-
'special_including_tax', $
|
336 |
);
|
337 |
} else {
|
338 |
$priceXmlObj->addAttribute(
|
339 |
-
'special', $
|
340 |
);
|
341 |
}
|
342 |
}
|
343 |
}
|
344 |
|
345 |
-
if ($this->getDisplayMinimalPrice() && $
|
346 |
-
&& $
|
347 |
) {
|
348 |
-
$
|
349 |
|
350 |
-
if ($
|
351 |
-
$
|
352 |
}
|
353 |
|
354 |
if (!$this->getUseLinkForAsLowAs()) {
|
355 |
-
$priceXmlObj->addAttribute('as_low_as', $
|
356 |
-
$
|
357 |
));
|
358 |
}
|
359 |
}
|
@@ -361,23 +361,23 @@ class Mage_XmlConnect_Block_Catalog_Product_Price_Default extends Mage_Catalog_B
|
|
361 |
* if (!$product->isGrouped()) {
|
362 |
*/
|
363 |
} else {
|
364 |
-
$
|
365 |
-
$
|
366 |
|
367 |
-
if ($this->getDisplayMinimalPrice() && $
|
368 |
-
if ($
|
369 |
-
$priceXmlObj->addAttribute('starting_at_excluding_tax', $
|
370 |
-
$
|
371 |
));
|
372 |
-
$priceXmlObj->addAttribute('starting_at_including_tax', $
|
373 |
-
$
|
374 |
));
|
375 |
} else {
|
376 |
-
$
|
377 |
-
if (!$
|
378 |
-
$
|
379 |
}
|
380 |
-
$priceXmlObj->addAttribute('starting_at', $
|
381 |
}
|
382 |
}
|
383 |
}
|
@@ -443,169 +443,169 @@ class Mage_XmlConnect_Block_Catalog_Product_Price_Default extends Mage_Catalog_B
|
|
443 |
/**
|
444 |
* Get tier prices (formatted) as array of strings
|
445 |
*
|
446 |
-
* @param array $
|
447 |
-
* @param Mage_Catalog_Model_Product $
|
448 |
* @return array
|
449 |
*/
|
450 |
-
protected function _getTierPricesTextArray($
|
451 |
{
|
452 |
$pricesArray = array();
|
453 |
-
if (Mage::helper('weee')->typeOfDisplay($
|
454 |
-
$
|
455 |
}
|
456 |
|
457 |
-
if ($
|
458 |
-
$
|
459 |
}
|
460 |
-
Mage::helper('weee')->processTierPrices($
|
461 |
|
462 |
-
foreach ($
|
463 |
$s = '';
|
464 |
if ($this->helper('tax')->displayBothPrices()) {
|
465 |
-
if (Mage::helper('weee')->typeOfDisplay($
|
466 |
-
$s .= $this->__('Buy %1$s for %2$s (%3$s incl. tax) each', $
|
467 |
-
} else if (Mage::helper('weee')->typeOfDisplay($
|
468 |
-
$s .= $this->__('Buy %1$s for %2$s', $
|
469 |
-
if ($
|
470 |
-
$s .= ' (' . $this->__('%1$s incl tax.', $
|
471 |
$separator = ' + ';
|
472 |
-
foreach ($
|
473 |
-
$s .= $separator . $
|
474 |
-
$s .= Mage::helper('core')->currency($
|
475 |
}
|
476 |
$s .= ')';
|
477 |
}
|
478 |
$s .= ' ' . $this->__('each');
|
479 |
-
} else if (Mage::helper('weee')->typeOfDisplay($
|
480 |
-
$s .= $this->__('Buy %1$s for %2$s', $
|
481 |
-
if ($
|
482 |
-
$s .= ' (' . $this->__('%1$s incl tax.', $
|
483 |
$separator = ' + ';
|
484 |
-
foreach ($
|
485 |
-
$s .= $separator . $
|
486 |
$s .= Mage::helper('core')->currency(
|
487 |
-
$
|
488 |
);
|
489 |
}
|
490 |
$s .= ')';
|
491 |
}
|
492 |
$s .= ' ' . $this->__('each');
|
493 |
-
} else if (Mage::helper('weee')->typeOfDisplay($
|
494 |
-
$s .= $this->__('Buy %1$s for %2$s', $
|
495 |
-
if ($
|
496 |
$s .= ' (';
|
497 |
-
foreach ($
|
498 |
-
$s .= $
|
499 |
-
$s .= Mage::helper('core')->currency($
|
500 |
}
|
501 |
-
$s .= ' ' . $this->__('Total incl. Tax: %1$s', $
|
502 |
}
|
503 |
$s .= ' ' . $this->__('each');
|
504 |
} else {
|
505 |
-
$s .= $this->__('Buy %1$s for %2$s (%3$s incl. tax) each', $
|
506 |
}
|
507 |
} else {
|
508 |
if ($this->helper('tax')->displayPriceIncludingTax()) {
|
509 |
-
if (Mage::helper('weee')->typeOfDisplay($
|
510 |
-
$s .= $this->__('Buy %1$s for %2$s each', $
|
511 |
-
} else if (Mage::helper('weee')->typeOfDisplay($
|
512 |
-
$s .= $this->__('Buy %1$s for %2$s', $
|
513 |
-
if ($
|
514 |
$s .= ' (';
|
515 |
$separator = '';
|
516 |
-
foreach ($
|
517 |
-
$s .= $separator . $
|
518 |
-
$s .= Mage::helper('core')->currency($
|
519 |
$separator = ' + ';
|
520 |
}
|
521 |
$s .= ')';
|
522 |
}
|
523 |
$s .= ' ' . $this->__('each');
|
524 |
-
} else if (Mage::helper('weee')->typeOfDisplay($
|
525 |
-
$s .= $this->__('Buy %1$s for %2$s', $
|
526 |
-
if ($
|
527 |
$s .= ' (';
|
528 |
$separator = '';
|
529 |
-
foreach ($
|
530 |
-
$s .= $separator . $
|
531 |
$s .= Mage::helper('core')->currency(
|
532 |
-
$
|
533 |
);
|
534 |
$separator = ' + ';
|
535 |
}
|
536 |
$s .= ')';
|
537 |
}
|
538 |
$s .= ' ' . $this->__('each');
|
539 |
-
} else if (Mage::helper('weee')->typeOfDisplay($
|
540 |
-
$s .= $this->__('Buy %1$s for %2$s', $
|
541 |
-
if ($
|
542 |
$s .= ' (';
|
543 |
-
foreach ($
|
544 |
-
$s .= $
|
545 |
-
$s .= Mage::helper('core')->currency($
|
546 |
}
|
547 |
-
$s .= ' ' . $this->__('Total incl. Tax: %1$s', $
|
548 |
}
|
549 |
$s .= ' ' . $this->__('each');
|
550 |
} else {
|
551 |
-
$s .= $this->__('Buy %1$s for %2$s each', $
|
552 |
}
|
553 |
} else {
|
554 |
-
if (Mage::helper('weee')->typeOfDisplay($
|
555 |
-
$s .= $this->__('Buy %1$s for %2$s each', $
|
556 |
-
} else if (Mage::helper('weee')->typeOfDisplay($
|
557 |
-
$s .= $this->__('Buy %1$s for %2$s', $
|
558 |
-
if ($
|
559 |
$s .= ' (';
|
560 |
$separator = '';
|
561 |
-
foreach ($
|
562 |
-
$s .= $separator . $
|
563 |
-
$s .= Mage::helper('core')->currency($
|
564 |
$separator = ' + ';
|
565 |
}
|
566 |
$s .= ')';
|
567 |
}
|
568 |
$s .= ' ' . $this->__('each');
|
569 |
-
} else if (Mage::helper('weee')->typeOfDisplay($
|
570 |
-
$s .= $this->__('Buy %1$s for %2$s', $
|
571 |
-
if ($
|
572 |
$s .= ' (';
|
573 |
$separator = '';
|
574 |
-
foreach ($
|
575 |
-
$s .= $separator . $
|
576 |
$s .= Mage::helper('core')->currency(
|
577 |
-
$
|
578 |
);
|
579 |
$separator = ' + ';
|
580 |
}
|
581 |
$s .= ')';
|
582 |
}
|
583 |
$s .= ' ' . $this->__('each');
|
584 |
-
} else if (Mage::helper('weee')->typeOfDisplay($
|
585 |
-
$s .= $this->__('Buy %1$s for %2$s', $
|
586 |
-
if ($
|
587 |
$s .= ' (';
|
588 |
-
foreach ($
|
589 |
-
$s .= $
|
590 |
-
$s .= Mage::helper('core')->currency($
|
591 |
}
|
592 |
-
$s .= ' ' . $this->__('Total incl. Tax: %1$s', $
|
593 |
}
|
594 |
$s .= ' ' . $this->__('each');
|
595 |
} else {
|
596 |
-
$s .= $this->__('Buy %1$s for %2$s each', $
|
597 |
}
|
598 |
}
|
599 |
}
|
600 |
-
if (!$
|
601 |
-
$condition1 = ($
|
602 |
-
&& $
|
603 |
|
604 |
-
$condition2 = ($
|
605 |
-
&& $
|
606 |
|
607 |
if ($condition1 || $condition2) {
|
608 |
-
$s .= ' ' . $this->__('and') . ' ' . $this->__('save') . ' ' . $
|
609 |
}
|
610 |
}
|
611 |
$pricesArray[] = $s;
|
39 |
* @param Mage_Catalog_Model_Product $product
|
40 |
* @param Mage_XmlConnect_Model_Simplexml_Element $item
|
41 |
*/
|
42 |
+
public function collectProductPrices(Mage_Catalog_Model_Product $product,
|
43 |
+
Mage_XmlConnect_Model_Simplexml_Element $item)
|
44 |
+
{
|
45 |
$this->setProduct($product)->setDisplayMinimalPrice(true)->setUseLinkForAsLowAs(false);
|
46 |
|
47 |
$priceXmlObj = $item->addChild('price');
|
48 |
+
$tierPrices = $this->_getTierPrices($product);
|
49 |
+
if (count($tierPrices) > 0) {
|
50 |
$tierPricesTextArray = $item->escapeXml(implode(
|
51 |
+
PHP_EOL, $this->_getTierPricesTextArray($tierPrices, $product)
|
52 |
));
|
53 |
$item->addCustomChild('price_tier', $tierPricesTextArray);
|
54 |
}
|
55 |
|
56 |
+
/** @var $coreHelper Mage_Core_Helper_Data */
|
57 |
+
$coreHelper = $this->helper('core');
|
58 |
+
/** @var $weeeHelper Mage_Weee_Helper_Data */
|
59 |
+
$weeeHelper = $this->helper('weee');
|
60 |
+
/** @var $taxHelper Mage_Tax_Helper_Data */
|
61 |
+
$taxHelper = $this->helper('tax');
|
62 |
|
63 |
+
$simplePricesTax = ($taxHelper->displayPriceIncludingTax() || $taxHelper->displayBothPrices());
|
64 |
+
$minimalPriceValue = $product->getMinimalPrice();
|
65 |
+
$minimalPrice = $taxHelper->getPrice($product, $minimalPriceValue, $simplePricesTax);
|
66 |
|
67 |
if (!$product->isGrouped()) {
|
68 |
+
$weeeTaxAmount = $weeeHelper->getAmountForDisplay($product);
|
69 |
+
if ($weeeHelper->typeOfDisplay($product, array(1, 2, 4))) {
|
70 |
+
$weeeTaxAmount = $weeeHelper->getAmount($product);
|
71 |
+
$weeeTaxAttributes = $weeeHelper->getProductWeeeAttributesForDisplay($product);
|
72 |
}
|
73 |
|
74 |
+
$price = $taxHelper->getPrice($product, $product->getPrice());
|
75 |
+
$regularPrice = $taxHelper->getPrice($product, $product->getPrice(), $simplePricesTax);
|
76 |
+
$finalPrice = $taxHelper->getPrice($product, $product->getFinalPrice());
|
77 |
+
$finalPriceInclTax = $taxHelper->getPrice($product, $product->getFinalPrice(), true);
|
78 |
+
$weeeHelper->getPriceDisplayType();
|
79 |
+
if ($finalPrice == $price) {
|
80 |
+
if ($taxHelper->displayBothPrices()) {
|
81 |
/**
|
82 |
* Including
|
83 |
*/
|
84 |
+
if ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 0)) {
|
85 |
$priceXmlObj->addAttribute(
|
86 |
+
'excluding_tax', $coreHelper->currency($price + $weeeTaxAmount, true, false)
|
87 |
);
|
88 |
$priceXmlObj->addAttribute(
|
89 |
+
'including_tax', $coreHelper->currency($finalPriceInclTax + $weeeTaxAmount, true, false)
|
90 |
);
|
91 |
+
} elseif ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 1)) {
|
92 |
/**
|
93 |
* Including + Weee
|
94 |
*/
|
95 |
$priceXmlObj->addAttribute(
|
96 |
+
'excluding_tax', $coreHelper->currency($price + $weeeTaxAmount, true, false)
|
97 |
);
|
98 |
$priceXmlObj->addAttribute(
|
99 |
+
'including_tax', $coreHelper->currency($finalPriceInclTax + $weeeTaxAmount, true, false)
|
100 |
);
|
101 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
102 |
+
$weeeSeparator = ' + ';
|
103 |
+
$weeeXmlObj->addAttribute('separator', $weeeSeparator);
|
104 |
+
foreach ($weeeTaxAttributes as $weeeTaxAttribute) {
|
105 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
106 |
$weeeItemXmlObj->addAttribute(
|
107 |
+
'name', $weeeItemXmlObj->escapeXml($weeeTaxAttribute->getName())
|
108 |
);
|
109 |
$weeeItemXmlObj->addAttribute(
|
110 |
+
'amount', $coreHelper->currency($weeeTaxAttribute->getAmount(), true, false)
|
111 |
);
|
112 |
}
|
113 |
+
} elseif ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 4)) {
|
114 |
/**
|
115 |
* Including + Weee
|
116 |
*/
|
117 |
$priceXmlObj->addAttribute(
|
118 |
+
'excluding_tax', $coreHelper->currency($price + $weeeTaxAmount, true, false)
|
119 |
);
|
120 |
$priceXmlObj->addAttribute(
|
121 |
+
'including_tax', $coreHelper->currency($finalPriceInclTax + $weeeTaxAmount, true, false)
|
122 |
);
|
123 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
124 |
+
$weeeSeparator = ' + ';
|
125 |
+
$weeeXmlObj->addAttribute('separator', $weeeSeparator);
|
126 |
+
foreach ($weeeTaxAttributes as $weeeTaxAttribute) {
|
127 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
128 |
$weeeItemXmlObj->addAttribute(
|
129 |
+
'name', $weeeItemXmlObj->escapeXml($weeeTaxAttribute->getName())
|
130 |
);
|
131 |
+
$weeeItemXmlObj->addAttribute('amount', $coreHelper->currency(
|
132 |
+
$weeeTaxAttribute->getAmount() + $weeeTaxAttribute->getTaxAmount(), true, false
|
133 |
));
|
134 |
}
|
135 |
+
} elseif ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 2)) {
|
136 |
/**
|
137 |
* Excluding + Weee + Final
|
138 |
*/
|
139 |
+
$priceXmlObj->addAttribute('excluding_tax', $coreHelper->currency($price, true, false));
|
140 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
141 |
+
foreach ($weeeTaxAttributes as $weeeTaxAttribute) {
|
142 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
143 |
$weeeItemXmlObj->addAttribute(
|
144 |
+
'name', $weeeItemXmlObj->escapeXml($weeeTaxAttribute->getName())
|
145 |
);
|
146 |
$weeeItemXmlObj->addAttribute(
|
147 |
+
'amount', $coreHelper->currency($weeeTaxAttribute->getAmount(), true, false)
|
148 |
);
|
149 |
}
|
150 |
+
$priceXmlObj->addAttribute('including_tax', $coreHelper->currency(
|
151 |
+
$finalPriceInclTax + $weeeTaxAmount, true, false
|
152 |
));
|
153 |
} else {
|
154 |
+
$priceXmlObj->addAttribute('excluding_tax', $coreHelper->currency($price, true, false));
|
155 |
$priceXmlObj->addAttribute(
|
156 |
+
'including_tax', $coreHelper->currency($finalPriceInclTax, true, false)
|
157 |
);
|
158 |
}
|
159 |
/**
|
160 |
+
* if ($taxHelper->displayBothPrices()) {
|
161 |
*/
|
162 |
} else {
|
163 |
/**
|
164 |
* Including
|
165 |
*/
|
166 |
+
if ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 0)) {
|
167 |
+
$priceXmlObj->addAttribute('regular', $coreHelper->currency(
|
168 |
+
$price + $weeeTaxAmount, true, false
|
169 |
));
|
170 |
+
} elseif ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 1)) {
|
171 |
/**
|
172 |
* Including + Weee
|
173 |
*/
|
174 |
+
$priceXmlObj->addAttribute('regular', $coreHelper->currency(
|
175 |
+
$price + $weeeTaxAmount, true, false
|
176 |
));
|
177 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
178 |
+
$weeeSeparator = ' + ';
|
179 |
+
$weeeXmlObj->addAttribute('separator', $weeeSeparator);
|
180 |
+
foreach ($weeeTaxAttributes as $weeeTaxAttribute) {
|
181 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
182 |
$weeeItemXmlObj->addAttribute(
|
183 |
+
'name', $weeeItemXmlObj->escapeXml($weeeTaxAttribute->getName())
|
184 |
);
|
185 |
$weeeItemXmlObj->addAttribute(
|
186 |
+
'amount', $coreHelper->currency($weeeTaxAttribute->getAmount(), true, false)
|
187 |
);
|
188 |
}
|
189 |
+
} elseif ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 4)) {
|
190 |
/**
|
191 |
* Including + Weee
|
192 |
*/
|
193 |
+
$priceXmlObj->addAttribute('regular', $coreHelper->currency(
|
194 |
+
$price + $weeeTaxAmount, true, false
|
195 |
));
|
196 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
197 |
+
$weeeSeparator = ' + ';
|
198 |
+
$weeeXmlObj->addAttribute('separator', $weeeSeparator);
|
199 |
+
foreach ($weeeTaxAttributes as $weeeTaxAttribute) {
|
200 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
201 |
$weeeItemXmlObj->addAttribute(
|
202 |
+
'name', $weeeItemXmlObj->escapeXml($weeeTaxAttribute->getName())
|
203 |
);
|
204 |
+
$weeeItemXmlObj->addAttribute('amount', $coreHelper->currency(
|
205 |
+
$weeeTaxAttribute->getAmount() + $weeeTaxAttribute->getTaxAmount(), true, false
|
206 |
));
|
207 |
}
|
208 |
+
} elseif ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 2)) {
|
209 |
/**
|
210 |
* Excluding + Weee + Final
|
211 |
*/
|
212 |
+
$priceXmlObj->addAttribute('regular', $coreHelper->currency($price, true, false));
|
213 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
214 |
+
foreach ($weeeTaxAttributes as $weeeTaxAttribute) {
|
215 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
216 |
$weeeItemXmlObj->addAttribute(
|
217 |
+
'name', $weeeItemXmlObj->escapeXml($weeeTaxAttribute->getName())
|
218 |
);
|
219 |
$weeeItemXmlObj->addAttribute(
|
220 |
+
'amount', $coreHelper->currency($weeeTaxAttribute->getAmount(), true, false)
|
221 |
);
|
222 |
}
|
223 |
$priceXmlObj->addAttribute(
|
224 |
+
'including_tax', $coreHelper->currency($price + $weeeTaxAmount, true, false)
|
225 |
);
|
226 |
} else {
|
227 |
+
$priceXmlObj->addAttribute('regular', $coreHelper->currency($price, true, false));
|
228 |
}
|
229 |
}
|
230 |
/**
|
231 |
+
* if ($finalPrice == $price) {
|
232 |
*/
|
233 |
} else {
|
234 |
+
$originalWeeeTaxAmount = $weeeHelper->getOriginalAmount($product);
|
235 |
/**
|
236 |
* Including
|
237 |
*/
|
238 |
+
if ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 0)) {
|
239 |
+
$priceXmlObj->addAttribute('regular', $coreHelper->currency(
|
240 |
+
$regularPrice + $originalWeeeTaxAmount, true, false
|
241 |
));
|
242 |
+
if ($taxHelper->displayBothPrices()) {
|
243 |
+
$priceXmlObj->addAttribute('special_excluding_tax', $coreHelper->currency(
|
244 |
+
$finalPrice + $weeeTaxAmount, true, false
|
245 |
));
|
246 |
+
$priceXmlObj->addAttribute('special_including_tax', $coreHelper->currency(
|
247 |
+
$finalPriceInclTax + $weeeTaxAmount, true, false
|
248 |
));
|
249 |
} else {
|
250 |
+
$priceXmlObj->addAttribute('special', $coreHelper->currency(
|
251 |
+
$finalPrice + $weeeTaxAmount, true, false
|
252 |
));
|
253 |
}
|
254 |
+
} elseif ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 1)) {
|
255 |
/**
|
256 |
* Including + Weee
|
257 |
*/
|
258 |
+
$priceXmlObj->addAttribute('regular', $coreHelper->currency(
|
259 |
+
$regularPrice + $originalWeeeTaxAmount, true, false
|
260 |
));
|
261 |
+
$priceXmlObj->addAttribute('special_excluding_tax', $coreHelper->currency(
|
262 |
+
$finalPrice + $weeeTaxAmount, true, false
|
263 |
));
|
264 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
265 |
+
$weeeSeparator = ' + ';
|
266 |
+
$weeeXmlObj->addAttribute('separator', $weeeSeparator);
|
267 |
+
foreach ($weeeTaxAttributes as $weeeTaxAttribute) {
|
268 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
269 |
$weeeItemXmlObj->addAttribute(
|
270 |
+
'name', $weeeItemXmlObj->escapeXml($weeeTaxAttribute->getName())
|
271 |
);
|
272 |
+
$weeeItemXmlObj->addAttribute('amount', $coreHelper->currency(
|
273 |
+
$weeeTaxAttribute->getAmount(), true, false
|
274 |
));
|
275 |
}
|
276 |
+
$priceXmlObj->addAttribute('special_including_tax', $coreHelper->currency(
|
277 |
+
$finalPriceInclTax + $weeeTaxAmount, true, false
|
278 |
));
|
279 |
+
} elseif ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 4)) {
|
280 |
/**
|
281 |
* Including + Weee
|
282 |
*/
|
283 |
+
$priceXmlObj->addAttribute('regular', $coreHelper->currency(
|
284 |
+
$regularPrice + $originalWeeeTaxAmount, true, false
|
285 |
));
|
286 |
+
$priceXmlObj->addAttribute('special_excluding_tax', $coreHelper->currency(
|
287 |
+
$finalPrice + $weeeTaxAmount, true, false
|
288 |
));
|
289 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
290 |
+
$weeeSeparator = ' + ';
|
291 |
+
$weeeXmlObj->addAttribute('separator', $weeeSeparator);
|
292 |
+
foreach ($weeeTaxAttributes as $weeeTaxAttribute) {
|
293 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
294 |
$weeeItemXmlObj->addAttribute(
|
295 |
+
'name', $weeeItemXmlObj->escapeXml($weeeTaxAttribute->getName())
|
296 |
);
|
297 |
+
$weeeItemXmlObj->addAttribute('amount', $coreHelper->currency(
|
298 |
+
$weeeTaxAttribute->getAmount() + $weeeTaxAttribute->getTaxAmount(), true, false
|
299 |
));
|
300 |
}
|
301 |
+
$priceXmlObj->addAttribute('special_including_tax', $coreHelper->currency(
|
302 |
+
$finalPriceInclTax + $weeeTaxAmount, true, false
|
303 |
));
|
304 |
+
} elseif ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, 2)) {
|
305 |
/**
|
306 |
* Excluding + Weee + Final
|
307 |
*/
|
308 |
+
$priceXmlObj->addAttribute('regular', $coreHelper->currency($regularPrice, true, false));
|
309 |
$priceXmlObj->addAttribute(
|
310 |
+
'special_excluding_tax', $coreHelper->currency($finalPrice, true, false)
|
311 |
);
|
312 |
$weeeXmlObj = $priceXmlObj->addChild('weee');
|
313 |
+
foreach ($weeeTaxAttributes as $weeeTaxAttribute) {
|
314 |
$weeeItemXmlObj = $weeeXmlObj->addChild('item');
|
315 |
$weeeItemXmlObj->addAttribute(
|
316 |
+
'name', $weeeItemXmlObj->escapeXml($weeeTaxAttribute->getName())
|
317 |
);
|
318 |
+
$weeeItemXmlObj->addAttribute('amount', $coreHelper->currency(
|
319 |
+
$weeeTaxAttribute->getAmount(), true, false
|
320 |
));
|
321 |
}
|
322 |
+
$priceXmlObj->addAttribute('special_including_tax', $coreHelper->currency(
|
323 |
+
$finalPriceInclTax + $weeeTaxAmount, true, false
|
324 |
));
|
325 |
} else {
|
326 |
/**
|
327 |
* Excluding
|
328 |
*/
|
329 |
+
$priceXmlObj->addAttribute('regular', $coreHelper->currency($regularPrice, true, false));
|
330 |
+
if ($taxHelper->displayBothPrices()) {
|
331 |
$priceXmlObj->addAttribute(
|
332 |
+
'special_excluding_tax', $coreHelper->currency($finalPrice, true, false)
|
333 |
);
|
334 |
$priceXmlObj->addAttribute(
|
335 |
+
'special_including_tax', $coreHelper->currency($finalPriceInclTax, true, false)
|
336 |
);
|
337 |
} else {
|
338 |
$priceXmlObj->addAttribute(
|
339 |
+
'special', $coreHelper->currency($finalPrice, true, false)
|
340 |
);
|
341 |
}
|
342 |
}
|
343 |
}
|
344 |
|
345 |
+
if ($this->getDisplayMinimalPrice() && $minimalPriceValue
|
346 |
+
&& $minimalPriceValue < $product->getFinalPrice()
|
347 |
) {
|
348 |
+
$minimalPriceDisplayValue = $minimalPrice;
|
349 |
|
350 |
+
if ($weeeTaxAmount && $weeeHelper->typeOfDisplay($product, array(0, 1, 4))) {
|
351 |
+
$minimalPriceDisplayValue = $minimalPrice + $weeeTaxAmount;
|
352 |
}
|
353 |
|
354 |
if (!$this->getUseLinkForAsLowAs()) {
|
355 |
+
$priceXmlObj->addAttribute('as_low_as', $coreHelper->currency(
|
356 |
+
$minimalPriceDisplayValue, true, false
|
357 |
));
|
358 |
}
|
359 |
}
|
361 |
* if (!$product->isGrouped()) {
|
362 |
*/
|
363 |
} else {
|
364 |
+
$exclTax = $taxHelper->getPrice($product, $minimalPriceValue, null);
|
365 |
+
$inclTax = $taxHelper->getPrice($product, $minimalPriceValue, true);
|
366 |
|
367 |
+
if ($this->getDisplayMinimalPrice() && $minimalPriceValue) {
|
368 |
+
if ($taxHelper->displayBothPrices()) {
|
369 |
+
$priceXmlObj->addAttribute('starting_at_excluding_tax', $coreHelper->currency(
|
370 |
+
$exclTax, true, false
|
371 |
));
|
372 |
+
$priceXmlObj->addAttribute('starting_at_including_tax', $coreHelper->currency(
|
373 |
+
$inclTax, true, false
|
374 |
));
|
375 |
} else {
|
376 |
+
$showPrice = $inclTax;
|
377 |
+
if (!$taxHelper->displayPriceIncludingTax()) {
|
378 |
+
$showPrice = $exclTax;
|
379 |
}
|
380 |
+
$priceXmlObj->addAttribute('starting_at', $coreHelper->currency($showPrice, true, false));
|
381 |
}
|
382 |
}
|
383 |
}
|
443 |
/**
|
444 |
* Get tier prices (formatted) as array of strings
|
445 |
*
|
446 |
+
* @param array $tierPrices
|
447 |
+
* @param Mage_Catalog_Model_Product $product
|
448 |
* @return array
|
449 |
*/
|
450 |
+
protected function _getTierPricesTextArray($tierPrices, $product)
|
451 |
{
|
452 |
$pricesArray = array();
|
453 |
+
if (Mage::helper('weee')->typeOfDisplay($product, array(1, 2, 4))) {
|
454 |
+
$weeeTaxAttributes = Mage::helper('weee')->getProductWeeeAttributesForDisplay($product);
|
455 |
}
|
456 |
|
457 |
+
if ($product->isGrouped()) {
|
458 |
+
$tierPrices = $this->getTierPrices($product);
|
459 |
}
|
460 |
+
Mage::helper('weee')->processTierPrices($product, $tierPrices);
|
461 |
|
462 |
+
foreach ($tierPrices as $price) {
|
463 |
$s = '';
|
464 |
if ($this->helper('tax')->displayBothPrices()) {
|
465 |
+
if (Mage::helper('weee')->typeOfDisplay($product, 0)) {
|
466 |
+
$s .= $this->__('Buy %1$s for %2$s (%3$s incl. tax) each', $price['price_qty'], $price['formated_price_incl_weee_only'], $price['formated_price_incl_weee']);
|
467 |
+
} else if (Mage::helper('weee')->typeOfDisplay($product, 1)) {
|
468 |
+
$s .= $this->__('Buy %1$s for %2$s', $price['price_qty'], $price['formated_price_incl_weee_only']);
|
469 |
+
if ($weeeTaxAttributes) {
|
470 |
+
$s .= ' (' . $this->__('%1$s incl tax.', $price['formated_price_incl_weee']);
|
471 |
$separator = ' + ';
|
472 |
+
foreach ($weeeTaxAttributes as $attribute) {
|
473 |
+
$s .= $separator . $attribute->getName() . ': ';
|
474 |
+
$s .= Mage::helper('core')->currency($attribute->getAmount());
|
475 |
}
|
476 |
$s .= ')';
|
477 |
}
|
478 |
$s .= ' ' . $this->__('each');
|
479 |
+
} else if (Mage::helper('weee')->typeOfDisplay($product, 4)) {
|
480 |
+
$s .= $this->__('Buy %1$s for %2$s', $price['price_qty'], $price['formated_price_incl_weee_only']);
|
481 |
+
if ($weeeTaxAttributes) {
|
482 |
+
$s .= ' (' . $this->__('%1$s incl tax.', $price['formated_price_incl_weee']);
|
483 |
$separator = ' + ';
|
484 |
+
foreach ($weeeTaxAttributes as $attribute) {
|
485 |
+
$s .= $separator . $attribute->getName() . ': ';
|
486 |
$s .= Mage::helper('core')->currency(
|
487 |
+
$attribute->getAmount() + $attribute->getTaxAmount()
|
488 |
);
|
489 |
}
|
490 |
$s .= ')';
|
491 |
}
|
492 |
$s .= ' ' . $this->__('each');
|
493 |
+
} else if (Mage::helper('weee')->typeOfDisplay($product, 2)) {
|
494 |
+
$s .= $this->__('Buy %1$s for %2$s', $price['price_qty'], $price['formated_price']);
|
495 |
+
if ($weeeTaxAttributes) {
|
496 |
$s .= ' (';
|
497 |
+
foreach ($weeeTaxAttributes as $attribute) {
|
498 |
+
$s .= $attribute->getName() . ': ';
|
499 |
+
$s .= Mage::helper('core')->currency($attribute->getAmount());
|
500 |
}
|
501 |
+
$s .= ' ' . $this->__('Total incl. Tax: %1$s', $price['formated_price_incl_weee']) . ')';
|
502 |
}
|
503 |
$s .= ' ' . $this->__('each');
|
504 |
} else {
|
505 |
+
$s .= $this->__('Buy %1$s for %2$s (%3$s incl. tax) each', $price['price_qty'], $price['formated_price'], $price['formated_price_incl_tax']);
|
506 |
}
|
507 |
} else {
|
508 |
if ($this->helper('tax')->displayPriceIncludingTax()) {
|
509 |
+
if (Mage::helper('weee')->typeOfDisplay($product, 0)) {
|
510 |
+
$s .= $this->__('Buy %1$s for %2$s each', $price['price_qty'], $price['formated_price_incl_weee']);
|
511 |
+
} else if (Mage::helper('weee')->typeOfDisplay($product, 1)) {
|
512 |
+
$s .= $this->__('Buy %1$s for %2$s', $price['price_qty'], $price['formated_price_incl_weee']);
|
513 |
+
if ($weeeTaxAttributes) {
|
514 |
$s .= ' (';
|
515 |
$separator = '';
|
516 |
+
foreach ($weeeTaxAttributes as $attribute) {
|
517 |
+
$s .= $separator . $attribute->getName() . ': ';
|
518 |
+
$s .= Mage::helper('core')->currency($attribute->getAmount());
|
519 |
$separator = ' + ';
|
520 |
}
|
521 |
$s .= ')';
|
522 |
}
|
523 |
$s .= ' ' . $this->__('each');
|
524 |
+
} else if (Mage::helper('weee')->typeOfDisplay($product, 4)) {
|
525 |
+
$s .= $this->__('Buy %1$s for %2$s', $price['price_qty'], $price['formated_price_incl_weee']);
|
526 |
+
if ($weeeTaxAttributes) {
|
527 |
$s .= ' (';
|
528 |
$separator = '';
|
529 |
+
foreach ($weeeTaxAttributes as $attribute) {
|
530 |
+
$s .= $separator . $attribute->getName() . ': ';
|
531 |
$s .= Mage::helper('core')->currency(
|
532 |
+
$attribute->getAmount() + $attribute->getTaxAmount()
|
533 |
);
|
534 |
$separator = ' + ';
|
535 |
}
|
536 |
$s .= ')';
|
537 |
}
|
538 |
$s .= ' ' . $this->__('each');
|
539 |
+
} else if (Mage::helper('weee')->typeOfDisplay($product, 2)) {
|
540 |
+
$s .= $this->__('Buy %1$s for %2$s', $price['price_qty'], $price['formated_price_incl_tax']);
|
541 |
+
if ($weeeTaxAttributes) {
|
542 |
$s .= ' (';
|
543 |
+
foreach ($weeeTaxAttributes as $attribute) {
|
544 |
+
$s .= $attribute->getName() . ': ';
|
545 |
+
$s .= Mage::helper('core')->currency($attribute->getAmount());
|
546 |
}
|
547 |
+
$s .= ' ' . $this->__('Total incl. Tax: %1$s', $price['formated_price_incl_weee']) . ')';
|
548 |
}
|
549 |
$s .= ' ' . $this->__('each');
|
550 |
} else {
|
551 |
+
$s .= $this->__('Buy %1$s for %2$s each', $price['price_qty'], $price['formated_price_incl_tax']);
|
552 |
}
|
553 |
} else {
|
554 |
+
if (Mage::helper('weee')->typeOfDisplay($product, 0)) {
|
555 |
+
$s .= $this->__('Buy %1$s for %2$s each', $price['price_qty'], $price['formated_price_incl_weee_only']);
|
556 |
+
} else if (Mage::helper('weee')->typeOfDisplay($product, 1)) {
|
557 |
+
$s .= $this->__('Buy %1$s for %2$s', $price['price_qty'], $price['formated_price_incl_weee_only']);
|
558 |
+
if ($weeeTaxAttributes) {
|
559 |
$s .= ' (';
|
560 |
$separator = '';
|
561 |
+
foreach ($weeeTaxAttributes as $attribute) {
|
562 |
+
$s .= $separator . $attribute->getName() . ': ';
|
563 |
+
$s .= Mage::helper('core')->currency($attribute->getAmount());
|
564 |
$separator = ' + ';
|
565 |
}
|
566 |
$s .= ')';
|
567 |
}
|
568 |
$s .= ' ' . $this->__('each');
|
569 |
+
} else if (Mage::helper('weee')->typeOfDisplay($product, 4)) {
|
570 |
+
$s .= $this->__('Buy %1$s for %2$s', $price['price_qty'], $price['formated_price_incl_weee_only']);
|
571 |
+
if ($weeeTaxAttributes) {
|
572 |
$s .= ' (';
|
573 |
$separator = '';
|
574 |
+
foreach ($weeeTaxAttributes as $attribute) {
|
575 |
+
$s .= $separator . $attribute->getName() . ': ';
|
576 |
$s .= Mage::helper('core')->currency(
|
577 |
+
$attribute->getAmount() + $attribute->getTaxAmount()
|
578 |
);
|
579 |
$separator = ' + ';
|
580 |
}
|
581 |
$s .= ')';
|
582 |
}
|
583 |
$s .= ' ' . $this->__('each');
|
584 |
+
} else if (Mage::helper('weee')->typeOfDisplay($product, 2)) {
|
585 |
+
$s .= $this->__('Buy %1$s for %2$s', $price['price_qty'], $price['formated_price']);
|
586 |
+
if ($weeeTaxAttributes) {
|
587 |
$s .= ' (';
|
588 |
+
foreach ($weeeTaxAttributes as $attribute) {
|
589 |
+
$s .= $attribute->getName() . ': ';
|
590 |
+
$s .= Mage::helper('core')->currency($attribute->getAmount());
|
591 |
}
|
592 |
+
$s .= ' ' . $this->__('Total incl. Tax: %1$s', $price['formated_price_incl_weee_only']) . ')';
|
593 |
}
|
594 |
$s .= ' ' . $this->__('each');
|
595 |
} else {
|
596 |
+
$s .= $this->__('Buy %1$s for %2$s each', $price['price_qty'], $price['formated_price']);
|
597 |
}
|
598 |
}
|
599 |
}
|
600 |
+
if (!$product->isGrouped()) {
|
601 |
+
$condition1 = ($product->getPrice() == $product->getFinalPrice()
|
602 |
+
&& $product->getPrice() > $price['price']);
|
603 |
|
604 |
+
$condition2 = ($product->getPrice() != $product->getFinalPrice()
|
605 |
+
&& $product->getFinalPrice() > $price['price']);
|
606 |
|
607 |
if ($condition1 || $condition2) {
|
608 |
+
$s .= ' ' . $this->__('and') . ' ' . $this->__('save') . ' ' . $price['savePercent'] . '%';
|
609 |
}
|
610 |
}
|
611 |
$pricesArray[] = $s;
|
app/code/core/Mage/XmlConnect/Block/Catalog/Product/Price/Giftcard.php
CHANGED
@@ -75,15 +75,15 @@ class Mage_XmlConnect_Block_Catalog_Product_Price_Giftcard extends Mage_Bundle_B
|
|
75 |
if ($product->getCanShowPrice() !== false) {
|
76 |
$priceXmlObj = $item->addChild('price');
|
77 |
|
78 |
-
$
|
79 |
-
$
|
80 |
-
if ($
|
81 |
-
$priceXmlObj->addAttribute('regular', Mage::helper('core')->currency($
|
82 |
-
} else if ($
|
83 |
$priceXmlObj->addAttribute(
|
84 |
'regular',
|
85 |
Mage::helper('enterprise_giftcard')->__('From') . ': '
|
86 |
-
. Mage::helper('core')->currency($
|
87 |
);
|
88 |
}
|
89 |
}
|
75 |
if ($product->getCanShowPrice() !== false) {
|
76 |
$priceXmlObj = $item->addChild('price');
|
77 |
|
78 |
+
$min = $this->getMinAmount();
|
79 |
+
$max = $this->getMaxAmount();
|
80 |
+
if ($min && $max && $min == $max) {
|
81 |
+
$priceXmlObj->addAttribute('regular', Mage::helper('core')->currency($min, true, false));
|
82 |
+
} else if ($min && $min != 0) {
|
83 |
$priceXmlObj->addAttribute(
|
84 |
'regular',
|
85 |
Mage::helper('enterprise_giftcard')->__('From') . ': '
|
86 |
+
. Mage::helper('core')->currency($min, true, false)
|
87 |
);
|
88 |
}
|
89 |
}
|
app/code/core/Mage/XmlConnect/Block/Checkout/Address/Form.php
CHANGED
@@ -31,7 +31,7 @@
|
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
-
class Mage_XmlConnect_Block_Checkout_Address_Form extends
|
35 |
{
|
36 |
/**
|
37 |
* Render customer address form xml
|
@@ -111,4 +111,51 @@ class Mage_XmlConnect_Block_Checkout_Address_Form extends Mage_Core_Block_Templa
|
|
111 |
|
112 |
return $fromXmlObj->getXml();
|
113 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
}
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
+
class Mage_XmlConnect_Block_Checkout_Address_Form extends Mage_Core_Block_Abstract
|
35 |
{
|
36 |
/**
|
37 |
* Render customer address form xml
|
111 |
|
112 |
return $fromXmlObj->getXml();
|
113 |
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Retrieve regions by country
|
117 |
+
*
|
118 |
+
* @deprecated will delete in the next version
|
119 |
+
* @param string $countryId
|
120 |
+
* @return array
|
121 |
+
*/
|
122 |
+
protected function _getRegionOptions($countryId)
|
123 |
+
{
|
124 |
+
$cacheKey = 'DIRECTORY_REGION_SELECT_STORE' . Mage::app()->getStore()->getId() . $countryId;
|
125 |
+
$cache = Mage::app()->loadCache($cacheKey);
|
126 |
+
if (Mage::app()->useCache('config') && $cache) {
|
127 |
+
$options = unserialize($cache);
|
128 |
+
} else {
|
129 |
+
$collection = Mage::getModel('directory/region')->getResourceCollection()->addCountryFilter($countryId)
|
130 |
+
->load();
|
131 |
+
$options = $collection->toOptionArray();
|
132 |
+
if (Mage::app()->useCache('config')) {
|
133 |
+
Mage::app()->saveCache(serialize($options), $cacheKey, array('config'));
|
134 |
+
}
|
135 |
+
}
|
136 |
+
return $options;
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Retrieve countries
|
141 |
+
*
|
142 |
+
* @deprecated will delete in the next version
|
143 |
+
* @return array
|
144 |
+
*/
|
145 |
+
protected function _getCountryOptions()
|
146 |
+
{
|
147 |
+
$cacheKey = 'DIRECTORY_COUNTRY_SELECT_STORE_' . Mage::app()->getStore()->getCode();
|
148 |
+
$cache = Mage::app()->loadCache($cacheKey);
|
149 |
+
if (Mage::app()->useCache('config') && $cache) {
|
150 |
+
$options = unserialize($cache);
|
151 |
+
} else {
|
152 |
+
/** @var $collection Mage_Directory_Model_Mysql4_Country_Collection */
|
153 |
+
$collection = Mage::getModel('directory/country')->getResourceCollection()->loadByStore();
|
154 |
+
$options = $collection->toOptionArray(false);
|
155 |
+
if (Mage::app()->useCache('config')) {
|
156 |
+
Mage::app()->saveCache(serialize($options), $cacheKey, array('config'));
|
157 |
+
}
|
158 |
+
}
|
159 |
+
return $options;
|
160 |
+
}
|
161 |
}
|
app/code/core/Mage/XmlConnect/Block/Checkout/Cart/Item/Renderer/Configurable.php
CHANGED
@@ -44,7 +44,8 @@ class Mage_Xmlconnect_Block_Checkout_Cart_Item_Renderer_Configurable
|
|
44 |
$product = $this->getChildProduct();
|
45 |
if (!$product || !$product->getData('thumbnail')
|
46 |
|| ($product->getData('thumbnail') == 'no_selection')
|
47 |
-
|| (Mage::getStoreConfig(self::CONFIGURABLE_PRODUCT_IMAGE) == self::USE_PARENT_IMAGE)
|
|
|
48 |
$product = $this->getProduct();
|
49 |
}
|
50 |
return $this->helper('xmlconnect/catalog_product_image')->init($product, 'thumbnail');
|
44 |
$product = $this->getChildProduct();
|
45 |
if (!$product || !$product->getData('thumbnail')
|
46 |
|| ($product->getData('thumbnail') == 'no_selection')
|
47 |
+
|| (Mage::getStoreConfig(self::CONFIGURABLE_PRODUCT_IMAGE) == self::USE_PARENT_IMAGE)
|
48 |
+
) {
|
49 |
$product = $this->getProduct();
|
50 |
}
|
51 |
return $this->helper('xmlconnect/catalog_product_image')->init($product, 'thumbnail');
|
app/code/core/Mage/XmlConnect/Block/Checkout/Cart/Item/Renderer/Grouped.php
CHANGED
@@ -43,7 +43,8 @@ class Mage_Xmlconnect_Block_Checkout_Cart_Item_Renderer_Grouped extends Mage_Che
|
|
43 |
$product = $this->getProduct();
|
44 |
if (!$product->getData('thumbnail')
|
45 |
||($product->getData('thumbnail') == 'no_selection')
|
46 |
-
|| (Mage::getStoreConfig(self::GROUPED_PRODUCT_IMAGE) == self::USE_PARENT_IMAGE)
|
|
|
47 |
$product = $this->getGroupedProduct();
|
48 |
}
|
49 |
return $this->helper('xmlconnect/catalog_product_image')->init($product, 'thumbnail');
|
43 |
$product = $this->getProduct();
|
44 |
if (!$product->getData('thumbnail')
|
45 |
||($product->getData('thumbnail') == 'no_selection')
|
46 |
+
|| (Mage::getStoreConfig(self::GROUPED_PRODUCT_IMAGE) == self::USE_PARENT_IMAGE)
|
47 |
+
) {
|
48 |
$product = $this->getGroupedProduct();
|
49 |
}
|
50 |
return $this->helper('xmlconnect/catalog_product_image')->init($product, 'thumbnail');
|
app/code/core/Mage/XmlConnect/Block/Checkout/Onepage/Address.php
CHANGED
@@ -31,7 +31,7 @@
|
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
-
class Mage_XmlConnect_Block_Checkout_Onepage_Address extends
|
35 |
{
|
36 |
/**
|
37 |
* Save address action
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
+
class Mage_XmlConnect_Block_Checkout_Onepage_Address extends Mage_Core_Block_Abstract
|
35 |
{
|
36 |
/**
|
37 |
* Save address action
|
app/code/core/Mage/XmlConnect/Block/Checkout/Onepage/Address/Form.php
CHANGED
@@ -31,7 +31,7 @@
|
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
-
class Mage_XmlConnect_Block_Checkout_Onepage_Address_Form extends
|
35 |
{
|
36 |
/**
|
37 |
* Render customer address form
|
31 |
* @package Mage_XmlConnect
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
+
class Mage_XmlConnect_Block_Checkout_Onepage_Address_Form extends Mage_Core_Block_Abstract
|
35 |
{
|
36 |
/**
|
37 |
* Render customer address form
|
app/code/core/Mage/XmlConnect/Block/Checkout/Onepage/Address/List.php
CHANGED
@@ -43,15 +43,15 @@ class Mage_XmlConnect_Block_Checkout_Onepage_Address_List extends Mage_Checkout_
|
|
43 |
/** @var $listChild Mage_XmlConnect_Model_Simplexml_Element */
|
44 |
$listChild = $this->getXmlObj();
|
45 |
|
46 |
-
$
|
47 |
-
$
|
48 |
|
49 |
foreach ($this->getCustomer()->getAddresses() as $address) {
|
50 |
$childOptions = array();
|
51 |
-
if ($
|
52 |
$childOptions['default_billing'] = 1;
|
53 |
}
|
54 |
-
if ($
|
55 |
$childOptions['default_shipping'] = 1;
|
56 |
}
|
57 |
$addressItem = $listChild->addCustomChild('item', null, $childOptions);
|
43 |
/** @var $listChild Mage_XmlConnect_Model_Simplexml_Element */
|
44 |
$listChild = $this->getXmlObj();
|
45 |
|
46 |
+
$billingAddress = $this->getCustomer()->getPrimaryBillingAddress();
|
47 |
+
$shippingAddress = $this->getCustomer()->getPrimaryShippingAddress();
|
48 |
|
49 |
foreach ($this->getCustomer()->getAddresses() as $address) {
|
50 |
$childOptions = array();
|
51 |
+
if ($billingAddress && ($billingAddress->getEntityId() == $address->getEntityId())) {
|
52 |
$childOptions['default_billing'] = 1;
|
53 |
}
|
54 |
+
if ($shippingAddress && ($shippingAddress->getEntityId() == $address->getEntityId())) {
|
55 |
$childOptions['default_shipping'] = 1;
|
56 |
}
|
57 |
$addressItem = $listChild->addCustomChild('item', null, $childOptions);
|
app/code/core/Mage/XmlConnect/Block/Checkout/Order/Review/Info.php
CHANGED
@@ -78,12 +78,12 @@ class Mage_XmlConnect_Block_Checkout_Order_Review_Info extends Mage_Checkout_Blo
|
|
78 |
}
|
79 |
|
80 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
81 |
-
$
|
82 |
$typeOfDisplay = Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales');
|
83 |
if ($typeOfDisplay && $item->getWeeeTaxAppliedAmount()) {
|
84 |
-
$inclPrice = $
|
85 |
} else {
|
86 |
-
$inclPrice = $
|
87 |
}
|
88 |
}
|
89 |
|
@@ -127,13 +127,13 @@ class Mage_XmlConnect_Block_Checkout_Order_Review_Info extends Mage_Checkout_Blo
|
|
127 |
}
|
128 |
}
|
129 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
130 |
-
$
|
131 |
if (Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales')
|
132 |
&& $item->getWeeeTaxAppliedAmount()
|
133 |
) {
|
134 |
-
$inclPrice = $
|
135 |
} else {
|
136 |
-
$inclPrice = $
|
137 |
}
|
138 |
}
|
139 |
|
@@ -166,15 +166,15 @@ class Mage_XmlConnect_Block_Checkout_Order_Review_Info extends Mage_Checkout_Blo
|
|
166 |
/**
|
167 |
* Options list
|
168 |
*/
|
169 |
-
$
|
170 |
-
if ($
|
171 |
$itemOptionsXml = $itemXml->addChild('options');
|
172 |
-
foreach ($
|
173 |
-
$
|
174 |
$optionXml = $itemOptionsXml->addChild('option');
|
175 |
-
$labelValue = $itemsXmlObj->escapeXml($
|
176 |
$optionXml->addAttribute('label', $labelValue);
|
177 |
-
$textValue = $itemsXmlObj->escapeXml($
|
178 |
$optionXml->addAttribute('text', $textValue);
|
179 |
}
|
180 |
}
|
78 |
}
|
79 |
|
80 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
81 |
+
$incl = $this->helper('checkout')->getPriceInclTax($item);
|
82 |
$typeOfDisplay = Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales');
|
83 |
if ($typeOfDisplay && $item->getWeeeTaxAppliedAmount()) {
|
84 |
+
$inclPrice = $incl + $item->getWeeeTaxAppliedAmount();
|
85 |
} else {
|
86 |
+
$inclPrice = $incl - $item->getWeeeTaxDisposition();
|
87 |
}
|
88 |
}
|
89 |
|
127 |
}
|
128 |
}
|
129 |
if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) {
|
130 |
+
$incl = $this->helper('checkout')->getSubtotalInclTax($item);
|
131 |
if (Mage::helper('weee')->typeOfDisplay($item, array(0, 1, 4), 'sales')
|
132 |
&& $item->getWeeeTaxAppliedAmount()
|
133 |
) {
|
134 |
+
$inclPrice = $incl + $item->getWeeeTaxAppliedRowAmount();
|
135 |
} else {
|
136 |
+
$inclPrice = $incl - $item->getWeeeTaxRowDisposition();
|
137 |
}
|
138 |
}
|
139 |
|
166 |
/**
|
167 |
* Options list
|
168 |
*/
|
169 |
+
$options = $renderer->getOptionList();
|
170 |
+
if ($options) {
|
171 |
$itemOptionsXml = $itemXml->addChild('options');
|
172 |
+
foreach ($options as $option) {
|
173 |
+
$formattedOptionValue = $renderer->getFormatedOptionValue($option);
|
174 |
$optionXml = $itemOptionsXml->addChild('option');
|
175 |
+
$labelValue = $itemsXmlObj->escapeXml($option['label']);
|
176 |
$optionXml->addAttribute('label', $labelValue);
|
177 |
+
$textValue = $itemsXmlObj->escapeXml($formattedOptionValue['value']);
|
178 |
$optionXml->addAttribute('text', $textValue);
|
179 |
}
|
180 |
}
|
app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Ccsave.php
CHANGED
@@ -80,8 +80,8 @@ class Mage_XmlConnect_Block_Checkout_Payment_Method_Ccsave extends Mage_Payment_
|
|
80 |
|
81 |
$ccTypes = $helper->getArrayAsXmlItemValues($this->getCcAvailableTypes(), $this->getInfoData('cc_type'));
|
82 |
|
83 |
-
$
|
84 |
-
$ccMonths = $helper->getArrayAsXmlItemValues($
|
85 |
|
86 |
$ccYears = $helper->getArrayAsXmlItemValues($this->getCcYears(), $this->getInfoData('cc_exp_year'));
|
87 |
|
@@ -100,7 +100,7 @@ class Mage_XmlConnect_Block_Checkout_Payment_Method_Ccsave extends Mage_Payment_
|
|
100 |
$solo = '';
|
101 |
if ($this->hasSsCardType()) {
|
102 |
$ssCcMonths = $helper->getArrayAsXmlItemValues(
|
103 |
-
$
|
104 |
);
|
105 |
$ssCcYears = $helper->getArrayAsXmlItemValues(
|
106 |
$this->getSsStartYears(), $this->getInfoData('cc_ss_start_year')
|
80 |
|
81 |
$ccTypes = $helper->getArrayAsXmlItemV |