Breezing Forms is one of the most powerful and simultaneously simple to operate extensions for Joomla website. In the case where the user cannot realize the representation of the user about the change in registration blocks, variations of functions, the component BreezingForms is simply irreplaceable.

Extension Version: 1.9.1 (944)
 
Joomla extension BreezingForms Pro

Extension Description

Enhanced component will allow the user to create a modern and, in parallel, various complex sets of registration fields the registration, authorization, payment, filling in personal data, surveys, contests and other. With an extensive set of functions the component Breezing Forms is useful for a large number of site owners. With the possibility of working in different modes QuickMode, EasyMode and ClassicMode, you can easily create the desired shape. While everything will look professionally and concisely.

The company is a developer Crosstec significantly worked on Joomla, this extension was much more convenient its competitors with similar features. Extensive set of templates and forms, the ability to work on mobile devices and tablets - this is only some of the capabilities of the component. Crosstec BreezingForms supports all modern browsers work with additions from other manufacturers, Google services, working with modern web technologies and supports them on the website. Support for multiple forms, themes, manipulation of objects, resizing of pictures, setting the optimal length of fields, number of characters and other nice little things that make the process of working with component nice and simple. Do not forget about protection from flooding, anti-spam protection Captcha: standard and ReCaptcha.

BreezingForms is the most popular and actively developing component of Joomla, with a long history of continuous development, the introduction of new interesting features. Try working with BreezingForms once, you will forever remain his priverzhenka.

Specifications:

Release date: 25-02-2009
Last updated: 23-11-2023
Type: Paid Exclusive
License: GPL 
Subject: Contacts & Feedback
Compatibility: J2.5 J3.x J4.x J5.x
Includes: Component Module Plugin
Language packs: English Russian
Developer: Crosstec

Rating:
4.5677655677656 1 1 1 1 1 (273 Votes)

Download by subscription!

You need to log in on the site and purchase a club subscription - Starting, Standard or Advanced!

Share with your friends!

 

How to Use and Configure BreezingForms Pro for Joomla

BreezingForms Pro is a Joomla form builder extension that is especially useful if you need more than a basic "Contact Us" page. It can handle more advanced workflows: multi-page questionnaires, request forms with attachments, forms with conditional fields, admin notifications, auto-replies to users, and storage for submitted entries. In this guide, we will not repeat the generic product description. Instead, we will focus on practical implementation: how to prepare the site, choose the right builder mode, create the form, publish it on a page, configure emails, verify the outcome, and troubleshoot common issues.

BreezingForms Pro has one important characteristic: it tries to cover several levels of complexity through multiple form-building modes. QuickMode is designed for fast form creation with a tree of pages, sections, and elements. EasyMode gives you more freedom in how elements are positioned. ClassicMode is closer to a technical mode for users who want near-manual control. That flexibility is useful, but it requires discipline. You should not treat the mode as a cosmetic setting, because it affects how the form will be maintained later.

It is also worth considering the current state of the ecosystem around the extension. Crosstec's official documentation still includes a lot of useful material on installation, QuickMode, email configuration, form output, themes, and common issues. At the same time, the Breezing Forms Pro listing was unpublished from the Joomla Extensions Directory because of broken links, and user feedback about compatibility with newer Joomla branches is mixed. The practical takeaway is straightforward: check compatibility and create a backup first, test the form on a site copy, and only move it to the live site after that testing succeeds.

BreezingForms Pro for Joomla workflow map from setup to final output
The cover image highlights the core principle: form settings, fields, visibility rules, emails, and the final output on the site should be tested as one connected chain.

When This Extension Is Actually Worth Using

The main purpose of BreezingForms Pro is to give a Joomla administrator a flexible form builder with support for record storage, notifications, multi-page flows, theming, and more advanced behavior. It is not just a collection of fields. Throughout the official documentation and product descriptions, the same idea comes up again and again: the extension can work both as a tool for a standard contact form and as the foundation for more advanced form-based applications.

A good example is a service request form where the visitor first selects the type of inquiry, then sees extra fields only for that choice, attaches a file, receives a confirmation after submission, and sends the administrator an email with the submitted data while also saving the entry for export. In that kind of workflow, BreezingForms Pro is valuable not because it has an Email field, but because of the full chain: form structure -> conditions -> notifications -> storage -> output verification.

The extension is a good fit if your site needs:

  • Contact forms with custom fields and required values.
  • Multi-page questionnaires where a long data collection process is split into clear steps.
  • Request forms with attachments, where the user must upload a file or image.
  • Forms with conditional behavior, where some fields appear only after a specific choice.
  • Administrative emails and user reply emails with different sets of data.
  • Export of submitted entries for off-site analysis.
  • Workflows where the same form needs to be displayed through a menu item, an article, or a module position.

There are also situations where BreezingForms Pro may not be the best place to start. If the site already runs on a newer Joomla branch and the owner is not prepared to test compatibility on a copy, it is smarter to compare alternatives first. If you need a modern visual editor with lots of up-to-date integrations, ready-made marketing form templates, and an active roadmap, it makes sense to look at Convert Forms or RSForm!Pro. If you only need a very simple contact form with no data storage or advanced behavior, the built-in Joomla contact feature or a lightweight current extension may be enough.

Who This Product Fits Best

BreezingForms Pro is usually chosen not for simplicity, but for flexibility. It is a good fit for a webmaster who is comfortable working in the Joomla admin panel, understands the difference between a component, plugin, module, and menu item, and is willing to test the form carefully before publishing it. For an agency, it can be useful on older or actively maintained projects that already use BreezingForms, where the goal is not to replace everything at once but to clean up the existing forms, configure emails properly, and reduce the risk of losing submissions.

For a content manager without technical support, the extension may feel overloaded. User reviews reflect opposite experiences: some people build forms quickly in QuickMode, while others get stuck on the very first screen because of the number of settings. That is why it is important to assign ownership before rollout: who creates fields, who verifies emails, who is responsible for backups, and who will handle issues after Joomla updates.

Where It May Be Overkill

You should not choose BreezingForms Pro just because "every site has a form." If you need one short contact form without attachments, conditions, or export, a heavy component will create more points of control than practical value. The product is also not the best choice for a project that requires guaranteed compatibility with the latest requirements without manual testing. The official page and JED send mixed signals, so the decision should come after a real test, not based on an old description.

Practical rule: BreezingForms Pro makes sense when the form is part of a workflow, not just a way to display a name field and an email field.

What to Check Before Installing It on Joomla

Preparation matters more than the installation itself. Forms accept user data, send emails, may handle files, and sometimes take part in requests, bookings, or internal business processes. A form issue can be easy to miss: the page loads, the button can be clicked, but the email never arrives or the entry is not saved the way you expected. That is why it helps to build a short technical map of the site before installation.

Compatibility Check and Source Status

Start by checking where the installation package came from, which version is listed in your archive, and what the official pages say. Crosstec's official page describes BreezingForms as a Joomla extension with support for multiple branches, but the Pro listing in the Joomla Extensions Directory was unpublished because of broken links. That does not automatically mean your package is unusable, but it does mean that you should not install it directly on a live site without testing on a site copy first.

Before installation, check the following:

  • Whether the package matches your Joomla branch and PHP version.
  • Whether you have a backup of both files and the database before installing the component.
  • Whether you can install the extension on a site copy or staging environment first.
  • Whether Joomla email works through the site's global configuration.
  • Whether the site uses caching, JavaScript optimization, or security extensions that could interfere with the form.
  • Which forms are already in use if you are updating an existing site rather than installing the extension for the first time.

Component, Plugin, and Module: Why the Different Parts Matter

In Crosstec's documentation, the BreezingForms installation is split into several pieces. The component is used to manage forms and records. The plugin lets you insert a form into an article through a special tag. The module is used when you want to display the form in a template position, such as a sidebar, below an article, or in a separate block on a landing page.

This structure matters for troubleshooting. If the form does not open through a menu item, the issue may be the form name or the menu settings. If the form does not appear inside an article, check whether the plugin is enabled and whether the insertion syntax is correct. If the form is not visible in a module position, check the module assignment, the template position, the menu item assignment, and the access permissions.

Email Delivery and Submission Handling Before You Build the Form

Administrators often start with the fields, but for contact forms the weak point is usually delivery, not the fields themselves. Before you build the form, verify that Joomla can send email from your hosting environment. If the site's global mail settings are not configured correctly, BreezingForms Pro may be set up properly and still lose emails or send them to spam.

A basic check looks like this:

  1. Review Joomla's global mail settings and send a test message using the site's built-in tools or another trusted admin workflow.
  2. Make sure the sender domain matches the website domain or is allowed by your email policy.
  3. Decide in advance where administrative emails should go and which data should not be sent by email for privacy reasons.
  4. If the form will accept files, confirm the limits set by PHP, your hosting environment, and the mail server.

Once that preparation is done, the installation becomes much more predictable: you already know which layer to inspect if the form does not appear, the email does not go out, or the attachment is missing.

Installation and First Validation Without Putting the Site at Risk

BreezingForms Pro installation starts with the component. In the older documentation, the path is described through Joomla's extension manager: upload the component package, then complete the setup in Components > BreezingForms > Configuration. In current Joomla interfaces, the screen names may differ, but the logic is the same: install the component package first, then perform the initial table and configuration setup.

If you are installing the product for the first time, do not choose any mode that may affect existing tables on a live site until a backup has been created. The first-run documentation describes a table creation mode, but on a live site with submission history, that step should only be performed after you clearly understand what it will do to the data. Updating an existing installation follows a different order: create a copy first, then check compatibility, then update, then verify the stored records.

Basic Installation Order

  1. Create a backup of the site and database.
  2. Extract the main BreezingForms archive if it contains separate component, plugin, and module packages.
  3. Install the component package through Joomla's extension manager.
  4. Open Components > BreezingForms > Configuration and complete the initial configuration.
  5. Install the BreezingForms plugin if the form needs to be inserted into articles.
  6. Install the BreezingForms module if the form needs to be displayed in a template position.
  7. After each installation step, verify that the corresponding item appears in the admin panel.

Do not try to build a complex questionnaire right away. Your first validation should be small: one test form, one name field, one email field, one submit button, and one email recipient. If that small form does not work, a larger form will only make the root cause harder to find.

How to Tell Whether the Installation Worked

After installation, open the form management area. In the documentation for multi-page form creation, the path is listed as Components > BreezingForms > Manage Forms. If that section is available, create a temporary form in QuickMode and save it. Then open the preview from inside the extension interface. At this point, the design does not matter. What matters is that the builder opens, the form properties can be saved, and the preview does not fail with an error.

The second checkpoint is data capture. Submit the test form and see whether a record appears in the submissions manager. If the record exists but the email never arrives, the issue is probably in the mail layer. If the emails arrive but the record is not saved, check the storage settings and database permissions. If the form will not submit at all, inspect required fields, validation, JavaScript conflicts, and caching.

BreezingForms Pro installation diagram as Joomla component, plugin, and module
This diagram helps keep the roles clear: the component manages forms, the plugin inserts a form into an article, and the module displays a form in a template position.

What Not to Do Right After Installation

Do not migrate old forms, enable complex conditions, or change themes before your first validation pass. Also, do not edit the extension files. If you need to adjust the appearance, use a copied theme, Joomla template features, or separate CSS in the site template. Editing component files creates a risk of losing changes during updates and makes long-term support harder.

Choosing a Builder Mode: QuickMode, EasyMode, or ClassicMode

One of the most important choices in BreezingForms Pro is the form creation mode. The official documentation describes three editors: QuickMode for non-programmers, EasyMode for more flexible positioning, and ClassicMode for technical users. The documentation also explicitly warns that not all modes support the same capabilities and that you cannot switch between them as if they were ordinary design tabs.

In practice, that means this: you need to choose the mode before you build a production form. If you start a complex form in one mode and later realize a needed feature would be easier in another, a simple switch may not save you. You may need to rebuild the structure or continue maintaining the form in the original approach.

QuickMode for Most Production Forms

QuickMode is the best starting point for most sites. In this mode, the form is built as a tree of pages, sections, and elements. That approach works well for contact forms, service requests, questionnaires, multi-page surveys, and forms with conditional fields. In the documentation, QuickMode is used in the multi-page form example, in visibility rules, and in the qmtheme theme example.

The QuickMode workflow is straightforward: first create the form, then the page, then sections, then elements. Each element has properties, validation, a label, a name, and additional parameters. Pages let you split a long form into steps. Sections help you group fields, such as "Contacts," "Company Details," "File," and "Comment."

When QuickMode Is Especially Convenient

  • The form needs to be maintained by a site administrator, not only by a developer.
  • You need required fields, standard validation, and a clear structure.
  • You need conditional fields, but not full custom programming.
  • You want to publish the form quickly through a menu item, plugin, or module.
  • You need to change the theme or adjust individual field sizes without deeply reworking the template.

EasyMode for Flexible Layout Control

EasyMode is useful when layout matters more than a strict tree structure. The documentation presents it as a mode for designers, with more flexible placement and drag-and-drop positioning. But that flexibility comes at a cost: actions such as page transitions or form submission may require more manual setup. That is why EasyMode is not the best choice just because you want to "move a field slightly to the left." If content managers will be changing the form frequently, QuickMode is usually the safer option.

ClassicMode for Technical Use Cases

ClassicMode is intended for users who want maximum freedom and precise control over placement. In Crosstec's description, it is aimed at technical users and developers. This mode can make sense if the form already exists in an older project or if the team has someone who understands BreezingForms' internal behavior. Starting a new form in ClassicMode without a clear reason is risky: maintenance will be harder, and some actions may need to be configured manually.

How to Choose a Form Creation Mode
Task Preferred Mode Why
Standard request form, contact form, questionnaire QuickMode Clear structure with pages, sections, elements, themes, and visibility rules.
Form with an unusual layout EasyMode More freedom in placement, but actions require closer attention during setup.
Older project or technical form with manual control ClassicMode Maximum flexibility for a specialist, but a higher maintenance burden.

If you are unsure, start with QuickMode on a site copy and build a minimal prototype. After half an hour of testing, you will usually know whether the mode is sufficient for your fields, conditions, pages, and output requirements.

Detailed Setup After Installation

After installation, the most common mistake is to jump straight to the form's appearance. First, you need to configure the working foundation: the form name, page structure, required fields, validation, emails, record storage, and output method. Only after that does it make sense to fine-tune the theme and small design details.

Form Name and Technical Consistency

The QuickMode documentation specifically notes that the form name is used for links, insertions, and references from the Joomla component. That is why the name should be short, use Latin characters, and avoid spaces and special characters. For example, a service request form could use service_request, a contact form could use contact_form, and a member application form could use member_application.

The form title can be human-readable, but the technical name should remain stable. If you change the name after publication, the form may stop rendering through a menu item, module, or article insertion. Define the name first, then use it everywhere consistently and with the same letter case.

Pages, Sections, and Elements

In QuickMode, the basic structure is built as Page, Section, Element. A page is a step in the form. A section is a logical group of fields. An element is a specific field or action. This structure is especially useful for multi-page forms: instead of facing one overwhelming wall of fields, the user moves through a sequence of understandable blocks.

For a typical service request form, you can use a structure like this:

  • Page "Contacts": name, phone, email address, preferred contact method.
  • Page "Request Details": service type, request description, urgency, budget range, attachment.
  • Page "Review": a brief summary of the submitted data and consent to processing.
  • Page "Thank You": the post-submission message and next-step expectation.

Do not put all fields into a single section. The more logical the form tree is, the easier it will be to find problems later: a required field does not fire, a conditional section does not appear, an attachment does not upload, or an email contains too many empty values.

Required Fields and Built-In Validation

In Crosstec's example, required elements are configured through the element properties: mark Required, choose the Library validation type, select the appropriate rule, and define an error message. This is more important than it may seem. If a field is required but the message is unclear, users will either submit the form repeatedly or abandon the page.

For a typical site, configure at least the following:

  • Email address validation for the field where the user enters their email.
  • A required name or organization name if the request is meaningless without it.
  • A required message body if the form should not accept empty requests.
  • Consent validation if the site requires explicit confirmation of terms.
  • Clear error messages in the language used by the site's audience.

Verification check: submit the form with an empty required field, with an invalid email address, and with valid data. The form should display a clear error and keep the values the user already entered.

Administrative Emails

In BreezingForms Pro, administrative emails are configured inside the individual form, not in the general form list. For QuickMode, the documented path is Form properties -> Advanced -> More Options, then the Admin Emails tab. There, you can choose whether to send an admin notification, use the default address or define a custom one, select the report contents, include an attachment, and set the subject line.

For a first production form, this setup is usually enough:

  • Email Notifications: send to a real admin address or another address that is actually monitored.
  • Report: send only nonempty values so the email does not turn into a long list of blank fields.
  • Attachment: do not enable PDF, CSV, or XML unless there is a real need, especially for sensitive data.
  • Alternative From Email: use an address from the website domain if your mail policy requires a domain-based sender.
  • Custom Email Subject: add a clear subject line, such as the form name or request type.

If the email needs to be routed to different staff members depending on the user's selection, first verify whether your version supports that behavior through built-in settings or additional workflows. Do not promise the business complex routing until you have tested it on a working form.

Mailback Emails to the User

Mailback Emails are reply messages sent to the submitter. The documentation describes this screen as similar to Admin Emails, but without a separate recipient address field. The value of a mailback message is that it gives the user confirmation: the form was submitted, the data was received, and the next step is clear. At the same time, the message should not contain unnecessary personal data if the form handles sensitive information.

For a safe mailback message, use a short structure: thanks, a brief description of the request received, an estimated response window without hard promises, and a contact for follow-up questions. If the form accepts files or sensitive data, do not repeat the full submission in the reply email. It is better to send a short confirmation and keep the detailed information in the admin panel.

Theme and Bootstrap

QuickMode appearance is configured under the Advanced tab in the Other Options -> Theme area. The documentation mentions the standard qmtheme and Default themes, as well as support for Bootstrap themes. The practical choice depends on the site template. If the template already uses Bootstrap and styles form fields cleanly, it is often better to rely on the template CSS than to enable built-in styles that may conflict.

If you do need to change the appearance, the safer approach is to copy the theme and edit the CSS copy instead of modifying the extension's original files. The theme documentation describes file placement in media/breezingforms/themes and separate folders for Bootstrap themes. Before updating, keep those changes stored separately, because reinstallation may affect theme files.

Map of key BreezingForms Pro settings after installation
This map shows which settings to check first: form name, structure, required fields, emails, storage, and output method.

Conditional Fields and Form Behavior Without Extra Code

One of the most useful capabilities in BreezingForms Pro is QuickMode visibility rules. They let you show or hide elements and sections depending on the user's choice. This matters in a request form: there is no reason to show a "Company Details" block to an individual customer, an "Order Number" field to a new lead, or an "Attach your technical brief" block to a visitor who only wants to ask a short question.

In Crosstec's documentation, visibility rules are described as a "natural" syntax rather than a full programming language. The basic pattern is simple: turn an element or section on or off when a source element has a specific value. That lowers the entry barrier, but it still requires care. One extra space, one incorrect field name, or one wrong value can keep the rule from working.

How a Simple Toggle -> Field Pair Works

Imagine a request form where the user selects the client type: individual or company. If "Company" is selected, you want to show a section for the organization name and website. In QuickMode, you would create a source field such as a radio group named client_type, and a target section such as company_section. In the section settings, you first hide it on load, then add visibility rules in the form settings.

turn off section company_section if client_type is private
turn on section company_section if client_type is company

This is not a universal copy-and-paste snippet for every form. The names company_section and client_type must match the technical names of your own elements. The values private and company must match the values you assigned in the radio group. If the button label looks right but the underlying value is different, the rule will fail.

Testing Visibility Rules

Conditional fields should be tested for more than appearance alone. Walk through the full workflow:

  1. Open the form preview and make sure the hidden section is not visible on load.
  2. Select the value that should reveal the section and verify that it appears without a page reload.
  3. Switch the choice back and verify that the section hides again.
  4. Submit the form with the section visible and check the admin email.
  5. Submit the form without the section visible and confirm that the email does not contain unnecessary empty data.

If the rule does not work, look for simple causes first: the wrong element name, the wrong value, extra spaces in the syntax, the rule entered in the wrong place, or hiding enabled on the wrong section. Do not start by editing JavaScript until you have checked the basic QuickMode behavior.

When Conditional Fields Can Cause Problems

Conditional behavior makes a form more convenient, but it can also hide important fields from the user or the administrator. Do not hide legally significant consent fields, payment explanations, service limitations, or required conditions in a way that leaves the user confused about why the form is asking for more information. Also, avoid building too many nested conditions. If the form turns into a maze, it is usually better to split it into pages or create several separate forms.

Example of BreezingForms Pro conditional behavior for showing form sections
This visual diagram shows how a selected value in one field controls the appearance of additional sections and affects the final verification step.

How to Publish the Form on the Site: Menu, Article, or Module

A form is useless until users can open it. BreezingForms Pro supports several output methods: a direct menu item, insertion into an article through the plugin, and output through a module position. These are not interchangeable details. They are different publishing workflows.

Publishing Through a Menu Item

A menu item is the right choice if the form is a standalone page: a service request, participant application, event registration, booking form, or quote request. The documentation recommends choosing a BreezingForms menu type and entering the form name exactly as it appears in the Name column in form management. That field is case-sensitive, so contact_form and Contact_Form may be treated as different values.

After saving the menu item, verify the following:

  • Whether the page opens without an error.
  • Whether it displays the correct form.
  • Whether the template breaks the width of a multi-page form.
  • Whether the page navigation buttons work.
  • Whether the page returns the user to a clear outcome after submission.

Inserting the Form into an Article Through the Plugin

The plugin is needed when the form should appear inside an article, for example after a service description, in a knowledge base article, in a tutorial, on a landing page, or inside category content. The documentation describes a special syntax in the form {BreezingForms : formname} along with additional parameters. It is important not to let the editor break that syntax: a visual editor may add line breaks or non-breaking spaces that keep the plugin from recognizing the tag.

Minimum example:

{BreezingForms : service_request}

If the form does not appear, check whether the plugin is enabled, whether the form name is exact, and whether the use iFrame setting in the plugin configuration is involved. The documentation explicitly notes that if the syntax is correct but the output is empty, toggling that setting can sometimes help. Do not switch iFrame mode blindly on a live site: test both options on a staging page and confirm that styles, form height, and page transitions still behave properly.

Publishing Through a Module Position

A module is convenient for short forms: newsletter signups, quick questions, callback requests, or a compact form in a sidebar. After installing the module, create a new BreezingForms module, enter the form name, choose the template position, and assign the module to the required menu items. If the module is not visible, do not check only BreezingForms. Also inspect the template itself: does the position exist, is the module enabled, is access allowed, and is it assigned to the current page?

If you need to display multiple forms on the same page, the documentation warns that iFrame mode may be necessary. This is especially important for landing pages with several forms: a form in the header, one in the middle of the page, and one at the bottom can conflict through identifiers and scripts. It is better to test two forms on a dedicated page first than to discover the problem after an ad campaign goes live.

Practical Example: A Service Request Form with Email and Output Verification

Now let us build a concrete example. The goal is a service request form for a company website. The user selects the type of inquiry, enters contact information, describes the request, sees extra company fields when needed, submits the form, receives a confirmation, and triggers an admin email containing nonempty values only. This workflow is a good way to test most of the capabilities that matter in real production use.

Goal and Preparation

We want a dedicated "Service Request" page with a form that:

  • Collects the user's name, email address, and task description.
  • Shows additional company fields only when the user selects the "Company" type.
  • Validates required fields before submission.
  • Sends the administrator an email with nonempty values only.
  • Displays a thank-you page after successful submission.

Before you begin, the BreezingForms component must already be installed, and if the form will be displayed inside an article, the plugin must also be installed. Joomla mail should already pass a test. The site should also have a test page or site copy where requests can be submitted without reaching real sales or support staff.

Form Creation Steps

  1. Open Components > BreezingForms > Manage Forms and create a form in QuickMode.
  2. Set a technical name without spaces, such as service_request, and give it a clear title for administrators.
  3. Create the first page and a "Contacts" section. Add fields for name, email address, and phone.
  4. Create a "Request Details" section. Add the request type selector, a description field, and a file field if attachments are actually needed.
  5. Create a "Company Details" section and hide it when the form loads.
  6. Add a visibility rule that shows the company section only for the selected value.
  7. Mark the required fields and assign built-in email validation for the email field.
  8. Create the final thank-you page and enable Last page is thank you page.
  9. Configure Admin Emails: send to a real business address, report only nonempty values, and use a clear subject line.
  10. Save the form and test the preview.

Publishing and Testing

For a standalone page, create a menu item of the BreezingForms type and enter service_request as the form name. For an article, insert {BreezingForms : service_request} after the service description. For a module, create a BreezingForms module, enter the form name, and assign a template position.

Run the test in this order:

  1. Open the page as a guest and confirm that the form is visible.
  2. Click submit with required fields left empty and make sure clear validation errors appear.
  3. Enter an invalid email address and check the validation message.
  4. Select the "Company" type and make sure the extra section appears.
  5. Fill out the form correctly and submit it.
  6. Check the thank-you page, the record in the admin panel, and the administrator email.
  7. Repeat the submission without the company section and confirm that the email does not include unnecessary empty fields.

Common Pitfall

If the form is inserted into an article and does not display, do not start by rebuilding the form. First, check the plugin, the form name, and the syntax. If the editor inserted line breaks, extra spaces, or HTML markup inside the tag, the plugin may not recognize it. If the syntax is correct, check the iFrame setting in the plugin, because the documentation lists it as one possible fix for empty output.

Practical example of a BreezingForms Pro request form with email and verification
This example ties form structure, a conditional section, email delivery, and record verification into one consistent test sequence.

Verifying the Outcome After Publication

Publishing the form is not the point where the work is finished. A form has three important outcomes: the user sees a clear interface, the administrator receives useful data, and the site stores a record or another confirmed trace of the submission. If you only check the appearance, you may miss broken email delivery. If you only check the email, you may miss poor validation. If you only check the admin panel, you may fail to notice that the form is awkward to use on the public-facing page.

Front-End Experience

Check the form on different page types. If it opens through a menu item, view it as a standalone page. If it is inserted into an article, inspect the text before and after the form, the container width, the behavior of editor blocks, and the absence of unnecessary borders. If the form is displayed through a module, make sure it does not become too narrow and that fields are not cut off.

Pay special attention to multi-page forms. The navigation buttons should be easy to notice, required-field errors should appear on the correct step, and users should not lose the data they have already entered. If moving to the next page does not return the viewport to the top of the form, that is a common issue in multi-step workflows and should be fixed before real users see the form.

Emails and Stored Records

For the admin email, do not check delivery alone. Check the content as well. The message should answer the manager's real questions: who submitted it, how to contact them, what they need, which request type was selected, whether there is an attachment, and what needs to happen next. If the email includes every field in order, including empty ones, the administrator will waste time reading noise. That is why Nonempty values is often more useful than All values.

Check the stored records in the admin panel. If the data is being saved, make sure the administrator knows where to find it and how to export it. If you enable CSV, XML, or PDF attachments, verify that they open correctly and do not contain unnecessary private data. For CSV in particular, check separators and encoding in the actual program your staff will use to open the file.

Performance, Caching, and Spam Protection

Forms are sensitive to caching and optimization. If the site uses JavaScript bundling, deferred loading, aggressive page caching, or bot protection, test the form with the real site settings enabled, not only in administrator mode. A common conflict symptom is that the form displays, but the button does not submit data, conditional fields do not toggle, or validation behaves strangely.

For spam protection, use the built-in capabilities of Joomla, BreezingForms, and other proven methods available in your version. Do not overload the form with multiple protections all at once. The user experience can degrade more than the lead quality improves. Start with a basic protection layer, then add more gradually and watch for any drop in submission conversion.

Short takeaway: a form should be considered fully verified only after a guest can submit it successfully, the email is received, the record is saved, and the form passes another check on the live page with the real template and caching settings enabled.

Working with Records, Export, and Submission Data

For a form, the submission moment is only part of the story. In real work, the administrator needs to know where to find the request later, how to verify that it was not lost, what can be exported, and which data should not be sent by email. BreezingForms Pro stores submitted records, and both the official descriptions and the JED page mention export to PDF, CSV, and XML. That is useful, but it also adds responsibility: the form starts to behave like a small request database.

Before launch, decide which processing path will be primary. One site may use email as the main working channel: the manager gets a notification, replies to the user, and closes the task in the inbox. Another site may work through the admin panel: records are stored in Joomla, and staff periodically export CSV for reporting. A third site may use the form as the entry point to a larger process, where the request must end up in a CRM, spreadsheet, or another outside service. BreezingForms Pro is flexible, but each chosen path needs to be tested separately.

What Data Should Be Stored

Do not collect fields "just in case." The more data a form accepts, the higher the requirements for storage, access, and user explanation. For a standard request, a name, contact method, subject, and task description are usually enough. For a booking workflow, you may need a date, participant count, and comment. For a technical request, an attachment may be necessary, but attachments should not be added to every form without a reason.

When planning the form structure, ask four questions for every field:

  • Who will use this value after submission.
  • Whether the request can be processed without this field.
  • Whether the value needs to be sent by email or can simply be stored in the record.
  • How the user will understand why the site is asking for that information.

If the last question has no clear answer, the field should probably be removed or made optional. That improves both form conversion and data quality. The administrator gets less noise, the user submits the request faster, and troubleshooting becomes easier.

Export Without Surprises

Export matters when requests are analyzed in a spreadsheet, sent to accounting, compared across reporting periods, or imported into another tool. But the first time you test export should not be the day the report is due. Create several test records with different values: short text, long text, Cyrillic, an email address, an empty optional field, a selected conditional field, and an attachment if one is used. Then export the data and open the file exactly the way a real staff member will.

For CSV, separator choice and encoding are especially important. If the file opens as a single column, that is not always a BreezingForms error. In many cases, the spreadsheet program simply guessed the wrong import settings. Document the working method in a short internal note: which menu item to use, which file to export, and which parameters to select when opening it. That small step saves a lot of time once the form is being used by a manager instead of a developer.

Who Should Have Access to Records

Forms often collect personal data. Even if it is only a name and email address, access to records should be restricted. In Joomla, check user groups, admin permissions, and the team's actual working practice. Do not grant full administrator access to someone who only needs to see submissions. If fine-grained permissions for your exact workflow are not confirmed in your installation, handle it at the process level instead: decide who exports records, who forwards them to the responsible staff, and who deletes test submissions.

Keep an eye on test data separately. After the form goes live, delete test records or label them clearly so they do not end up in reports. If test submissions were sent to a real manager address, make sure the team knows where testing stops and real data collection begins.

When It Makes Sense to Add ContentBuilder or External Processing

BreezingForms descriptions mention integration with ContentBuilder, where forms can take part in more advanced content creation and record editing workflows. That is no longer a standard contact form. This kind of setup makes sense when the form data needs to become managed records on the site, be editable by users, or feed an internal database. For a simple request form, however, it is excessive.

Before adding another layer, describe the process without talking about tools: who creates the record, who sees it, who edits it, who approves it, what gets published on the site, and what stays internal. If the process cannot be explained clearly on paper, the component will not make it clearer. Simplify the workflow first, then choose the technical implementation.

Practical Use Cases for Different Types of Sites

The same form should not be copied across every website. One of BreezingForms Pro's strengths is that it can be adapted to different workflows: service requests, event registration, forms with attachments, surveys, calculations, and multi-page questionnaires. But that adaptation should start from the task, not from a desire to use every feature at once. Below are several use cases where the extension's features offer real practical value.

Service Request Form for a Company

On a service website, the form should help a manager understand the request quickly. That makes required contact details, service type, task description, and possibly a file attachment especially important. Conditional fields are useful for separating individual and business clients. For example, if the user selects "Company," a block appears for the organization name and website. If they select "Individual," the form stays shorter.

Review the outcome from the manager's perspective. The email should include the subject, contact details, request, and extra fields only when they are filled in. If the email looks like a twenty-line technical dump, important details will start to get missed. That is why sending only nonempty values and using a clear subject line matter more here than the color of the button.

Event or Course Registration

A multi-page form works especially well for an event. On the first step, the user enters contact details; on the second, chooses the participation format; on the third, confirms the data. If extra information is needed only for in-person attendance, a conditional section can display an address, organization, or accessibility questions. The thank-you page should explain what happens next: a confirmation email, a call from the organizer, or a manual review of the request.

In this kind of workflow, it is especially important not to imply automatic confirmation if the process is manual. The mailback message can say the request was received, but it should not suggest that a seat is already guaranteed if the administrator still needs to review the data. That is not only a usability issue, but also a way to avoid user frustration.

Form with an Attachment for a Technical Request

Attachments are useful when the user needs to upload a file: an error screenshot, technical brief, document, image, or a free-form request file. But file uploads increase the load on both the form and the mail system. Before launch, check file size limits, allowed file types, storage, and delivery. If the attachment is included in the admin email, test with a real file, not just a tiny empty image.

For a technical request, it is better to place clear guidance next to the upload field right away: which formats are allowed, what the maximum size is, and what to do if the file cannot be uploaded. If the interface does not state those limits, users will have to guess, and the administrator will receive fewer valid submissions.

Multi-Page Questionnaire with a Review Step Before Submission

Long questionnaires are easier to handle when split into pages. That reduces the psychological burden and helps group related data. In BreezingForms Pro, a multi-page structure is built through pages and sections, and the last page can be used as a thank-you screen. If you need a review step before submission, think through which data the user should see and whether they can go back to make corrections.

Do not create too many steps. If the form takes five or six pages, the user should clearly understand their progress. If that progress is not obvious, some people will abandon the form before submission. In some cases, it is better to create two separate forms for different request types than one universal questionnaire with dozens of conditions.

Small Calculation Tool or Parameter-Based Request Form

Official BreezingForms form apps include examples for calculations, calendars, hide-and-show behavior, date validation, and other practical tasks. That points to a broader use: the extension can be used not only for text-based inquiries, but also for structured parameter collection. At the same time, calculations are a higher-responsibility area. If the output affects pricing, timing, or obligations, the formula should be verified manually with several test data sets.

For calculation workflows, it is useful to store not just the final value, but also the source values, so the administrator can reconstruct how the request was formed. If a user says "the form calculated it wrong," you need to see which parameters were selected, not only the final number.

Update, Migration, and Long-Term Support Plan

Any form on a production site lives longer than it seems at launch. PHP changes, Joomla changes, the template changes, email policies change, data requirements change, and the company's internal processes change. That is why it is useful to decide in advance what will count as normal support for BreezingForms Pro and what should trigger a migration.

When Supporting Existing Forms Is Enough

If the site is already working, forms are receiving submissions, records are being stored, and the team understands the handling process, there is no reason to replace the tool just for the sake of novelty. In that situation, the better approach is to create a map of the existing forms: where they are published, which emails they send, which fields are required, which conditional rules are in use, which records are stored, and who receives notifications.

Once you have that map, you can do careful maintenance:

  • Test each form as both a guest and an administrator.
  • Remove unnecessary test fields and outdated recipient addresses.
  • Update error messages and thank-you text.
  • Document the output method: menu, article, or module.
  • Save the list of conditional rules and what each one does.
  • Check export if records are needed for reporting.

That kind of work often delivers more value than a blind migration. Users do not see the internal component. They see a form that is easy to understand and receive a response from.

When It Is Time to Plan a Replacement

Migration becomes necessary if the form is unstable after updates, the team cannot maintain the selected mode, there is no confidence in compatibility with your Joomla branch, or the business process requires more predictable behavior. Replacement is also justified if you need modern integrations that are not available in your BreezingForms installation, or if the form needs to evolve aggressively for marketing workflows.

A migration plan should be calm and methodical. Start by exporting the structure of the requirements, not just the data: the list of fields, which ones are required, the conditions, the emails, the recipients, the thank-you page, the output location, attachments, anti-spam measures, and reports. Then rebuild the form in the new tool on a site copy and compare the behavior. Only after that should you switch the link, menu item, or module.

How Not to Lose Requests During the Transition

The most dangerous migration is the one where the old form is disabled before the new one is verified. During the transition period, keep the old form available on a site copy or preserve its settings. Test the new form using the same workflows: empty required fields, invalid email, conditional sections, attachments, admin email, mailback email, admin record, and export.

After the switch, keep a short period of heightened monitoring. Review the first real submissions manually: did the email arrive, is the record there, are the fields filled in correctly, and are users reporting any issues? If a problem appears, it is much easier to point the menu item or article back to the old form quickly than to reconstruct lost requests from mail logs.

Common BreezingForms Pro Problems and How to Diagnose Them

Form issues often look the same on the surface: "it does not display," "it does not submit," "the email never arrives," or "the condition does not work." But the causes are different. To avoid wasting time, break troubleshooting into layers: display, form behavior, email delivery, record storage, and compatibility with Joomla, the template, or optimization tools.

The Form Does Not Appear in an Article

Symptom: the article shows an empty block, the raw insertion tag, or nothing at all. Possible cause: the BreezingForms plugin is not installed or not enabled, the form name uses the wrong letter case, the visual editor broke the tag, or the iFrame setting conflicts with the page.

Check that the plugin is installed, enabled, and that the tag is written as {BreezingForms : formname}. The form name must match the Name column. If everything is correct, toggle the use iFrame setting on a test page and compare the result. If the form appears in only one mode, keep the working option and then verify the height, styles, and submission behavior.

The Menu Item Opens, but Shows the Wrong Form

Symptom: the page exists, but a different form appears or an error is shown. Possible cause: the menu item settings use the display title instead of the technical name, there is a case mismatch, or the form was renamed after the menu item was created.

Open form management, copy the technical name, and paste it into the menu item settings. After saving, clear the site cache if caching is enabled. If the name was changed, check every output location: menus, articles, modules, and template links.

Admin Emails Do Not Arrive

Symptom: the form submits and the record is saved, but the email never arrives. Possible cause: Joomla mail is not configured, No is selected in Email Notifications, the recipient address is still a test address, the sender does not match the site domain, the message is blocked by hosting, or it is going to spam.

Start by testing Joomla's global mail delivery. Then open Admin Emails for the specific form and verify the notification mode, recipient address, subject, and sender. For diagnosis, temporarily send to an address on the same domain and also to an outside address. If it arrives on the domain address but not the outside one, the issue may be your mail policy rather than BreezingForms itself.

The User Does Not Receive a Reply Email

Symptom: the administrator receives an email, but the user never sees a confirmation. Possible cause: the Mailback Emails tab is not configured, the user's email field is not tied to the reply, the address was entered incorrectly, or the message went to spam.

Check the mailback settings inside the form. Send a test using a real email address, then another one with an intentionally incorrect address to make sure validation does not allow bad input through. Do not make the reply email too heavy, and do not attach files unless there is a real reason to do so.

Conditional Fields Do Not Toggle

Symptom: a section should appear after a choice is made, but stays hidden or fails to hide again. Possible cause: incorrect source or target name, incorrect radio group value, extra spaces in the rule, or the rule was entered in the element settings instead of the form settings.

Compare the technical element names to the rule text. Make sure the rule uses values rather than visible labels if those are different. Start with one source and one target instead of a complex chain. Once the simple rule works, add the remaining conditions.

CSV Opens Incorrectly in a Spreadsheet

Symptom: export works, but the values land in a single column or the characters look wrong in the spreadsheet program. Possible cause: the separator, encoding, or regional settings of the program do not match the export format. Crosstec documentation lists this as a common issue.

Check the CSV through the spreadsheet import wizard, where you can choose the delimiter and encoding. Do not assume the data is corrupted just because double-clicking the file gives a bad result. For regular use, it is better to document the correct CSV opening method for managers.

The Form Becomes Unstable After a Joomla or PHP Update

Symptom: the form used to work, but after an update the admin panel shows errors, elements no longer save correctly, or radio groups stop working. Possible cause: extension version incompatibility, PHP changes, a template conflict, or old manual edits to the extension files.

Roll back on a site copy or restore from backup if the problem is critical. Then review the official pages and JED status: BreezingForms Pro currently requires caution. If the project needs to run on a newer Joomla branch without technical supervision, plan a migration to a more actively maintained solution.

Diagnostic map of BreezingForms Pro errors for a Joomla form
This troubleshooting map breaks the issue into layers: form output, field behavior, emails, records, and environment compatibility.

Safe Improvements and Careful Design Adjustments

BreezingForms Pro supports theme customization and CSS, but that does not mean you should edit the component files. The safest approach is to use theme settings, a copied theme, or CSS from the Joomla template. That approach is easier to roll back, does not break updates, and does not tie the form to manual edits inside the extension.

When a CSS Adjustment Makes Sense

CSS is appropriate if you need to improve spacing, field focus states, error readability, button width, or the visual separation between sections. The BreezingForms theme documentation shows that QuickMode uses classes such as .bfQuickMode, .bfElemWrap, and .bfErrorMessage. That means you can create a careful local adjustment scoped to the form container.

The example below does not touch Joomla core and does not modify BreezingForms files. You can add it to your template's custom CSS or another safe location where the template stores additional styles. Before applying it, replace the wrapper class with the actual container for your page if you want the rules to affect only one form.

.bfQuickMode .bfElemWrap {
  margin-bottom: 14px;
}

.bfQuickMode input[type="text"],
.bfQuickMode textarea,
.bfQuickMode select {
  max-width: 100%;
  border-radius: 4px;
}

.bfQuickMode .bfErrorMessage {
  padding: 8px 10px;
  margin: 8px 0;
  border-left: 4px solid #c62828;
}

After adding the CSS, test the form on the page where it is actually published. Submit it with an error, check the field focus, review the width on a mobile screen, and inspect the button appearance. If the template already applies its own styles, some rules may not take effect because of CSS specificity. Rolling back is simple: remove the added snippet from the custom CSS and clear the cache.

What You Should Avoid

Do not edit files in the component folder just to change a field color. Do not delete lines from the extension libraries because of a random review or forum comment unless you fully understand what you are doing and have a backup. Do not add JavaScript that intercepts form submission until the built-in settings have been exhausted. For forms, predictability matters: a small design tweak is reasonable, but interfering with submission and validation is risky.

Comparable Joomla Form Solutions

Alternatives are useful not because BreezingForms Pro should be replaced automatically, but because they help you understand which tool fits a specific project best. If you already have working BreezingForms forms on an older site, migration may cost more than careful maintenance. If the project is new or needs modern compatibility, comparison is essential.

Questions to Resolve Before Launching the Form

Can BreezingForms Pro be used on a new Joomla site?

It can be considered, but only after testing on a site copy. The official documentation and product page provide a lot of information about features, but the Pro listing in JED was unpublished because of broken links, and reviews for newer Joomla branches are mixed. For a new project without technical support, it is smart to compare current alternatives.

Which builder mode should I choose for the first form?

In most cases, start with QuickMode. It is better documented for common tasks: pages, sections, elements, required fields, visibility rules, themes, and form output. Choose EasyMode or ClassicMode only if you clearly understand why you need their flexibility and who will maintain the form.

Why is the form not showing up in the article?

The cause is usually the plugin, the form name, or the insertion syntax. Check whether the BreezingForms plugin is enabled, whether the form name matches the technical name in Manage Forms, whether the editor added extra markup, and whether toggling the iFrame setting in the plugin helps.

Why are emails not arriving even though the form submits?

If the record is saved but no email arrives, start by checking Joomla mail and the Admin Emails tab. Common causes include notifications being turned off, a test address still being used, the sender not matching the site domain, or the message being blocked by mail policy. Do not change the form fields until the email chain has been checked.

Can I create a form with conditional fields without programming?

Yes. For QuickMode, the documentation describes visibility rules. They let you turn elements or sections on and off based on values from radio groups, checkboxes, lists, and some text fields. But the syntax is sensitive to names, values, and spaces, so every rule should be tested in preview and again on the public page.

Should attachments be included in emails?

Include attachments only if the administrator truly needs them in the email. For sensitive data or larger files, it is usually safer to store the record on the site and manage access separately. If attachments are enabled, check PHP limits, hosting limits, mail server limits, and the way the email appears to the real recipient.

What should I do if the site starts showing form errors after an update?

First, restore control on a site copy: check the extension version, PHP, the template, caching, and any older manual edits. Do not edit the extension core at random. If the problem is compatibility-related and the project needs to keep moving forward on newer Joomla versions, evaluate migration to a more actively maintained solution.

When BreezingForms Pro Is a Good Choice

BreezingForms Pro is worth using if you understand both its strengths and its limits. It works well for sites that need a flexible form with a multi-page structure, conditional fields, emails, record storage, and multiple publishing methods. It is especially useful on projects that already have BreezingForms forms and need to bring them into reliable working order: configure emails, verify required fields, clean up the output, document troubleshooting, and reduce the risk of losing submissions.

If you are launching a new site, the decision should be cautious. Check the source status, compatibility with your Joomla version, the email setup, and the form's behavior on a site copy. Compare BreezingForms Pro with RSForm!Pro, Convert Forms, and Visforms against your real requirements, not just the feature list. Where modern support and fresh integrations matter most, the alternatives may be more practical. Where complex BreezingForms forms already exist, careful maintenance may be cheaper and safer than a full migration.

After validating everything on a test copy, you can download BreezingForms Pro and repeat the rollout on the live site using the same checklist: backup, component installation, form setup, email configuration, output method, test submission, admin-panel record check, and public-page verification.

By OceanTheme.org Editorial Team

 

You are not logged in to post comments.