Theo From Magefine
-
September 14, 2025
Want to send customers an automatic heads-up when a product price changes in your Magento 2 store? In this post I’ll walk you through a pragmatic architecture and a step-by-step implementation to build a custom "Product Alert" system that detects price changes, stores them, triggers scheduled notifications, and tracks the conversions generated by those alerts. Think of this as pairing observers (to detect changes) with cron jobs (to batch and send alerts) and Magento transactional emails (to deliver them).
Why build a custom system?
There are plugins and hosted services that do price alerts, but a custom solution gives you:
- Full control over detection logic (exactly which price changes matter)
- Flexible rules for thresholds, frequency and product exclusions
- Native integration with your transactional email templates and UTM tracking
- Lower ongoing cost and tighter privacy control when hosted with your store (useful
-
September 13, 2025
In this post I’ll walk you through how to build a custom “Delivery Date Selection” module for Magento 2. We’ll cover architecture, creating custom attributes and DB tables, integrating a checkout UI component, handling constraints (holidays, lead times, time slots), UX tips for both the storefront and the admin backoffice, and how to keep it compatible with stock management and other Magefine modules. I’ll keep things practical with step-by-step code examples so you can copy, adapt and ship.
Why build a Delivery Date Selection module?
Delivery date selection improves conversion and reduces support enquiries by letting customers choose a convenient delivery day and time. Most merchants need business rules: exclude holidays, enforce preparation time, allow only certain time windows and keep the module compatible with inventory/fulfillment extensions. Building your own module gives full control and tight integration with Magento 2 checkout and admin.
High-level
-
September 11, 2025
Want to add a "Restock Request" feature to your Magento 2 store so customers can sign up for notifications when an out-of-stock product returns? In this post I’ll walk you through building a custom Magento 2 module that: captures customer interest, watches stock changes using the Observer pattern, sends automatic emails when items are back in stock, exposes an admin UI to manage requests and thresholds, improves SEO for out-of-stock products, and helps you measure ROI from these notifications. I’ll be practical and show step-by-step code examples, file structure, and suggestions for tracking conversions — like I’m showing a colleague how I’d ship this in a real project.
Why build a custom restock request module?
Several extensions exist but making your own has advantages: you control behavior, integrate with your exact notification workflow, and keep your site lightweight. Also, you can tailor the admin UX to your merchandising and reporting needs. The core goals are
-
September 09, 2025
Let’s build a clean, maintainable "Product Personalization" module for Magento 2 that supports engraving and custom text. I’ll walk you through architecture decisions, database layout, frontend integration (real-time preview), dynamic price adjustments, production workflow hooks, and performance best practices—step-by-step and with concrete code examples you can drop into a dev environment. I’ll keep the tone relaxed, like I’m explaining to a colleague who’s done some Magento work but hasn’t built this exact feature before.
Why you might want a custom module (and not just product options)
Magento’s built-in custom options can do simple text inputs and file uploads, but they quickly become limiting when you need:
- Complex validation (character limits, allowed characters per product),
- Server-side previews or combined images (laser layout, engraving mockups),
- Dynamic pricing rules that depend on text length, font choice, or uploaded artwork complexity,
-
September 08, 2025
How to Build a Custom "Product Q&A" Module in Magento 2
Imagine this: a customer lands on a product page and has a specific question about sizing or compatibility. Instead of leaving the page or calling support, they ask directly under the product. Later, other shoppers find the question and answer useful — conversion increases, returns drop. That’s the value of an inline Product Q&A module in Magento 2.
In this post I’ll walk you through building a custom Product Q&A module step-by-step (code included). I’ll keep the tone friendly — like explaining to a teammate — and focus on clean architecture, frontend integration, admin moderation, SEO with Schema.org FAQ markup, and optional extensions such as email notifications and automated moderation. I’ll use Magefine as the vendor namespace so examples align with magefine.com.
Overview and architecture
High-level components we’ll implement:
- Database table(s) for questions (and optionally
-
September 07, 2025
Why build a custom "Gift with Purchase" in Magento 2?
Let me be frank — the default Magento 2 promotion tools are powerful, but when you need a precise, behavior-driven "gift with purchase" (GWP) flow that ties into your stock management and admin workflow, a custom module is often the cleanest choice. This post walks you through a practical, maintainable way to implement a GWP module: clear architecture, code examples you can drop into a module skeleton, admin configuration, cart/order integration, stock synchronization with Force Stock Status, and best practices to avoid conflicts with other promo extensions.
What we’ll build (high level)
- A lightweight custom Magento 2 module that adds a free gift product to the cart when configured conditions are met.
- Admin configuration to declare the gift SKU, minimum subtotal (or other conditions), maximum gifts per order, and enable/disable the rule.
- Integration with the Magento cart & order flow so
-
September 06, 2025
Want a straightforward way to add Gold, Silver and Bronze loyalty tiers to your Magento 2 store without relying on a third-party subscription? Good — this post walks you through a clear, pragmatic approach: design, database, module skeleton, points collection, tier assignment, price integration, admin UI and automated tier-based email promotions. I’ll be casual and practical, like explaining to a teammate while we pair-program.
Why build a custom loyalty tiers program?
Out-of-the-box Magento doesn’t ship a loyalty-tiers feature. You can map customers to groups and use cart price rules, but that’s clunky if you want dynamic tier movement, visible member dashboards, or tier-based automated emails. A custom solution gives you:
- Precise control of how tiers are assigned (points, spend, orders).
- Custom attributes for customers and a dedicated tiers table for flexible settings.
- Direct integration with quote totals so discounts apply predictably.
-
September 05, 2025
Adding an "Ask a Question" feature directly to product pages is a small change that can boost conversion, reduce returns, and increase engagement. In this post I’ll walk you through building a lightweight, maintainable custom module for Magento 2 that: stores product questions in the database, exposes an admin interface to manage them, renders a performant frontend form on product pages, sends notifications to admins and automated replies to customers, and adds FAQ structured data for SEO.
What we’ll build — quick overview
- A simple database schema for questions and answers (db_schema.xml).
- Models, resource models and collections to persist questions.
- An admin grid + edit form so store staff can answer questions.
- A frontend block and template to add an AJAX "Ask a Question" form on the product page without hurting performance.
- Controllers and an email/notification workflow (admin alerts + templated auto-reply to customers
-
September 03, 2025We're sorry, an error has occurred while generating this content.
-
September 02, 2025
In this post I’ll show you how to build a custom "Reserve in Store" (Click & Collect) module for Magento 2. Think of this as a practical walk-through you can follow step-by-step while sipping coffee — I’ll explain the architecture, the key files and folders, how to integrate with checkout and stock, admin UI for managing stores and reservations, notifications, and a few performance tips to keep your site snappy. Examples include concrete XML, PHP and JavaScript snippets you can copy and adapt for your project.
Why build a custom Click & Collect module?
Built‑in Magento features might not fit every merchant’s needs: different pickup workflows, special store rules, varying stock handling with MSI, or bespoke emails and reminders. Building your own module means you control UX and logic — and you can integrate closely with your inventory strategy and your checkout.
High-level features we’ll cover
- Store selection during checkout (pickup point