America’s best drapery rods
Custom Magento Development for Iron Rods
About Iron Rods
Iron Rods is a USA-based company that manufactures and sells curtain rods, drapery, and curtain hardware nationwide.
The client reached out to the BelVG team in July 2021. They wanted our developers to help with bug fixing. Initially, there were about 20 tasks. But over time, the customer began to rely on us for new features implementation, and the number of tasks increased to about 200.
There are only several products on the site: three main items plus a section with accessories. However, the main products are highly customizable. The user indicates a lot of different parameters according to which the rods are manufactured: color, diameter, distance from the wall, number of rings, etc.
Therefore, most of the BelVG team’s work was related to developing a product configuration tool.
Another major task was B2B features implementation. Our PHP developers built a separate registration page for wholesale customers and implemented a сustom price and tax calculation system.
There was significant checkout customization, including implementing the Save Cart feature. We also set up the generation of various documentation in PDF format with detailed order information to send to the factory.
Our developers customized the shipping process by adding new Rush Order and in-store pickup features. And on top of all that, we conducted a website performance optimization, including work with both frontend and backend.
IndustryManufacturing, retail & wholesale
Services & notable features
- Custom product options builder development
- Implementation of a new product type with complex dynamic options
- Wholesale/retail system development
- Custom price and tax system development
- Generation of additional PDF documentation
- Save Cart feature implementation
- Deployment of custom delivery methods: Rush Order feature, in-store pickup
- Performance optimization and website support
Product Configuration Tool Development
To develop a custom product options builder, our team decided to use the Mageworx Product Custom Options module as a basis, but it had to be heavily reworked.
The module didn’t fit the needs well, so it became just a starting point for us to develop a unique Curtain Rods Configuration tool. It allows Iron Rod’s users to personalize their orders by selecting the type, color, and size of curtain rods, finials style, and other details. It calculates the price automatically.
Below are the most significant changes to this module that we have implemented.
- The Mageworx module calculates the price not only according to the selected options, as it was in the out-of-the-box edition, but also depending on more complex conditions, such as the length of the product. For instance, there’s an Inside Mount product. If it reaches a certain size, it needs additional wall-mounted center support brackets. So we automatically add them to the price for 5/8-inch rods over 60 inches wide and 1-inch rods over 72 inches wide.
- The price is recalculated depending on the selected item length and amount of additional accessories, such as Slide Tape. It’s happening on the backend without the client’s involvement.
- The module doesn’t show the order’s subtotal cost until the user selects all the required features. Thus, the user doesn’t get confused by the pricing without mandatory options.
- We changed the module’s default settings so that when the customer changes the color or size of the item, the other selected options aren’t discarded but saved.
The client doesn’t see it, but when important parameters are changed, the entire frontend is rebuilt and reconfigured to save the selected settings.
Setup and Testing
Iron Rods website only has three product types, but each is highly configurable with many settings, including four colors, two diameters, and more. For each color and diameter option, different configurations had to be added and linked to each other: finials types, distance from the wall, and other parameters.
Our developers did a great job of accomplishing this, uploading all product options, linking them to each other, and optimizing the admin panel afterward. This task alone took a week to finish. And then, many hours were spent by our QA engineers to check every parameter and exclude possible errors.
B2B Features Implementation
Iron Rods have both wholesale and individual buyers with different sales terms.
The BelVG developers have made essential registration and account functionality changes to ensure a convenient shopping experience for both categories.
- We build a separate registration page for wholesale users. When a wholesale buyer registers, store administrators receive a notification, and they can accept or reject the request using the button in the admin panel.
- Our specialists made it possible to set up a discount percentage for wholesale users in the admin panel and added a tax ID. We’ve also added a custom option for wholesale buyers to choose whether or not to pay tax. It depends on if they want to order for themselves or on their company’s behalf.
- Another feature we’ve added is the ability to adjust prices the wholesale buyers see. Wholesalers can enable the display of both bulk and retail prices at the same time or choose only bulk prices.
- The customer wanted wholesalers to be able to add multiple cards to their account profile. The payment module used in the store, Autorize.net, initially didn’t have this option, so we had to customize it. Now it’s possible to save multiple cards and billing details in the account.
Shopping Cart and Checkout Customization
We’ve made several important adjustments to the shopping cart and the checkout functionality.
- Improved Mageplaza Save Cart extension that allows saving the cart for the future and updating it. Also, our developers added a feature enabling copying the cart. It was essential to our customer that these were two different features, as their users often needed to create multiple carts, save and rename them, as well as work with them.
- Saving selected options feature. For instance, shipping details are saved in the cart after refreshing the page.
- Amasty checkout module customization. Our developers redesigned it, so most of the checkout blocks are custom now. For instance, we added a step “Quote Priority,” where users can choose between standard and rush orders. We also made improvements to express shipping, calculation of shipping percentages, and added new data to the “Order Summary”.
- Custom product detail output in checkout. Initially, Magento support standard property inference where you can see all the details about the configurable product. Our developers customized the the output, removing hidden properties and splitting main and additional characteristics of the product.
Order Processing Adjustment
The client not only sells curtain rods but also manufactures them, so it was essential to properly set up the order placement process and send the order details to the factory.
We’ve made three crucial changes in this process.
- We added an indicator to show whether the order is urgent or not in the admin panel.
- We also redesigned a Job Ticket, a document containing the order information for the factory employees. It has three tables for each production department, specifying all the item’s parameters.
- We also developed the ability to automatically create labels for the orders, which are then printed and glued to the parcels by the store employees.
Get a Free Website Audit Example
Shipping was also greatly customized. We implemented:
- The express shipping feature. Its fee depends on the user group, as B2C and B2B customers have different rates.
- Free delivery option if items with a “Free Delivery” attribute were added to the order. It’s relevant for the color-matching samples.
- Third-party module installation for notifying a courier delivery service to pick up the parcels.
- A pickup function built from scratch. When a user selects this option, the other shipping options disappear, and the delivery fee doesn’t show up.
- Rush Order feature that allows users to pay extra if they want their order processed faster than others. The store administrator specifies the rush order processing time in the admin panel depending on seasonality, factory load, and other factors.
In addition to implementing the features described above, our developers also maintain the store. Since the site is highly customized, every change affects the performance and can cause compatibility issues.
Our support to Iron Rods includes installing new extensions, fixing bugs, implementing various features, and optimizing performance. Here are main examples of work we’ve been doing.
We changed the email notification module, so now notifications for B2B and B2C users are sent via different addresses. We also modified the integration of the Smaily module to fix its synchronization with Magento.
Another task was connected to user account modification. It was made on the standard Magento functionality and wasn’t convenient for users. We moved everything to popups, as requested by our customer. They open over the current page and help focus users’ attention on important actions or pieces of information, making the user account functionality easier and more convenient.
We’ve performed significant work on optimizing the Iron Rods e-store. There were three major phases.
It includes our actions to achieve the fastest possible page loading speed while minimizing a server load. Our specialists analyzed all the modules installed on the site to identify those no longer needed. Then they deactivated unnecessary ones.
We also performed work on optimizing database queries and streamlining large data sets processing.
Besides, our developers added Varnish Cache to the server and enabled it. Another cache optimization was Redis. This service on the server is responsible for the overall cache, which isn’t related to the full-page cache.
After caching improvements on average, page loading time got faster by 8%; server response speed got faster by 47%.
Optimization Using Additional Services
The most noticeable improvement was achieved by integration with Cloudflare CDN, which our developers used to route the webstore’s traffic and automatically detect and mitigate DDoS attacks.
Currently, Google PageSpeed Insights rates the site’s performance 85+ points on the desktop version. That’s a decent result for a significantly customized Magento site.
The work processes are maximally automated thanks to our team’s work on the Iron Rods e-store. The user creates a curtain rod of the desired configuration, and the price is calculated automatically, considering all parameters and necessary accessories. After the payment, the user receives a notification, and the customer gets automatically generated documentation required for production. Therefore, the manager’s workload is minimized and limited to supervision in order processing. It helps to reduce the human factor of errors significantly.