Handling Joomla Customizations Persisting After Updating The EasyStore Plugin - Question | JoomShaper
SP Page Builder 6 is Here! Learn More →

Handling Joomla Customizations Persisting After Updating The EasyStore Plugin

A

Amvimedia

EasyStore 10 months ago

Hello, We have extensively customized our Joomla site with the EasyStore plugin, and we’re looking for guidance on how to preserve these customizations during plugin updates. Here’s an overview of the changes we’ve made:

Modified controllers: Cart Controller Payment Controller Order Controller Checkout Controller

Updated views and templates: Cart view page Order history page Email template Added a custom_data field:

Integrated into the cart and orders tables to store and process custom data throughout the payment flow. We’re concerned about these customizations being overwritten during future plugin updates. Could you please suggest the best practices or steps to ensure these changes persist after updates?

Any help or recommendations would be greatly appreciated!

Thank you!

0
3 Answers
Ofi Khan
Ofi Khan
Accepted Answer
Support Agent 10 months ago #178132

Hello Amvimedia

Thanks for contacting us. I have talked to the developer team about the customization possibility of EasyStore. You can override components/com_easystore/layouts and components/com_easystore/tmpl files. You have to follow Joomla file override system. For example,

components/com_easystore/layouts/checkout/customer-note.php can be overriden into

templates/template_name/html/layouts/com_easystore/checkout/customer-note.php

and

components/com_easystore/tmpl/cart/default.php can be overridden into

templates/template_name/html/com_easystore/cart/default.php files respectively.

Unfortunately, controller cannot be overridden now. You have to replace controller file with your modified files after every plugin update. We will find a way in the future to make the override possible.

Best regards

1
A
Amvimedia
Accepted Answer
10 months ago #178269

Hello Ofi Khan,

Thank you for your detailed explanation. Your response helped clarify the override possibilities for the EasyStore component. I would like to confirm a few points based on our customization needs:

Custom Data in Database Tables: We are adding a custom_data column to both the custom_cart and orders tables to store customized product data. However, we are concerned about whether these additional columns would be removed or altered during an EasyStore plugin update. Can you confirm if database schema changes (like adding custom columns) are preserved after updates?

File Overrides: We updated the following view files for our customizations:

components/com_easystore/layouts/cart/mini.php components/com_easystore/layouts/order/products.php components/com_easystore/layouts/checkout/summary.php components/com_easystore/tmpl/cart/default.php administrator/components/com_easystore/tmpl/products/default.php administrator/components/com_easystore/tmpl/order/edit.php components/com_easystore/layouts/addtocart.php Based on your reply, it seems we can override these files using Joomla's override system. For example:

components/com_easystore/tmpl/cart/default.php → templates/template_name/html/com_easystore/cart/default.php components/com_easystore/layouts/checkout/summary.php → templates/template_name/html/layouts/com_easystore/checkout/summary.php Could you confirm if this approach applies to all the listed view files?

Controller and Model Changes: We modified the following controller and model files for our customizations:

components/com_easystore/src/Controller/CartController.php components/com_easystore/src/Controller/OrderController.php components/com_easystore/src/Controller/PaymentController.php components/com_easystore/src/Model/CartModel.php components/com_easystore/src/Model/OrderModel.php components/com_easystore/src/Traits/Cart.php administrator/components/com_easystore/src/Model/ProductsModel.php Since you mentioned that controllers cannot currently be overridden, we understand these files would need to be replaced manually after every update. Do you have any suggestions for minimizing the effort required to reapply these changes?

Database Installation Script: We updated administrator/components/com_easystore/sql/install.mysql.utf8.sql to include the custom_data column. Will this file be overwritten during plugin updates, and if so, how can we handle these database changes in a safe and future-proof manner?

Form XML Changes: We also made changes to administrator/components/com_easystore/forms/product.xml to add custom fields for products. Does this file get replaced during plugin updates?

Email Templates: We customized the following email-related files:

administrator/components/com_easystore/src/Email/EmailManager.php administrator/components/com_easystore/src/Email/EmailService.php administrator/components/com_easystore/src/Email/EmailServiceInterface.php components/com_easystore/layouts/emails/order/summary.php Is there any recommended way to handle these customizations, or do they also need to be reapplied after every update?

We would appreciate your insights to ensure our customizations are implemented in a sustainable way without heavily impacting future updates. Thank you again for your support!

Best regards, Amvimedia

0
Ofi Khan
Ofi Khan
Accepted Answer
Support Agent 9 months ago #178674

Thanks for your reply.

  1. Custom Data in Database Tables - It will not change on the update.
  2. File Overrides - It will not change on the update.
  3. Controller and Model Changes - It will be changed.
  4. Database Installation Script - It will be changed.
  5. Form XML Changes - It will be changed.
  6. Email Templates - It will be changed.
0