Download the PHP package mage2kishan/module-advanced-contact-us without Composer

On this page you can find all versions of the php package mage2kishan/module-advanced-contact-us. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package module-advanced-contact-us

Magento 2 Advanced Contact Us

Panth Advanced Contact Us replaces the stock Magento 2 contact page at /contact with its own form, controller and layout. The form is submitted with plain JavaScript over AJAX, every accepted submission is written to a database table, and the store owner gets an email notification with an optional confirmation email to the sender. Merchants can add extra form fields from the admin configuration, show a contact-details sidebar, and screen submissions with a honeypot field, a content check, a minimum fill time and a per-IP rate limit. Submissions are managed in an admin grid under "Panth Extensions".

The module takes over the contact frontend route ahead of Magento_Contact. While "Enable Module" is Yes it removes the default contact form blocks from the contact page and renders its own block instead. It is written for Luma and Luma-based themes; the template uses inline CSS and vanilla JavaScript (no Alpine.js, Tailwind or jQuery) and its layout update also removes the Hyva contact page blocks, so it renders on Hyva storefronts as a self-styled page.

Product page: kishansavaliya.com/magento-2-advanced-contact-us.html

Features

Compatibility

Platform Versions
Magento Open Source 2.4.4 to 2.4.8 (as published on the product page)
Adobe Commerce 2.4.4 to 2.4.8 (as published on the product page)
PHP 8.1 or later (composer.json requires php >=8.1)
Themes Luma and Luma-based themes; renders on Hyva with its own inline styling

Composer constraints on Magento packages: magento/framework >=103.0, magento/module-contact >=100.4, magento/module-backend >=102.0, magento/module-ui >=101.2.

Requirements

No other packages are required or suggested in composer.json.

Installation

setup:di:compile is only needed when the store runs in production mode. The module ships no files under view/*/web, so no static content deployment is required.

Check the result with:

After installation open /contact on the storefront to see the new form, and in the admin open Panth Extensions > Contact Us > Submissions.

Configuration

Admin path: Stores > Configuration > Panth Extensions > "Advanced Contact Us". All fields can be set at default, website and store view scope. The ACL resource for this section is Panth_AdvancedContactUs::config.

"General Settings"

Setting Default What it does
"Enable Module" Yes When set to No the contact page shows the stock Magento_Contact form and posts are handed to the stock Magento_Contact controller; nothing is stored in panth_contact_submission.
"Page Title" Contact Us Heading of the contact page and the browser title.
"Success Message" Thank you for reaching out! We've received your message and will get back to you within 24 hours. Text shown after a successful submission (and after silently dropped spam).
"Show Contact Info Sidebar" Yes Shows the "Get in Touch" card next to the form.

"Contact Info (Sidebar)"

Setting Default What it does
"Email Address" [email protected] Shown as a mailto link in the sidebar. Falls back to [email protected] when empty.
"Phone Number" 1-800-SHOP-NOW Shown as a tel link in the sidebar; hidden when empty.
"Address" Your Store Address Shown in the sidebar; hidden when empty.
"Business Hours" Mon - Fri: 9:00 AM - 6:00 PM Shown in the sidebar; hidden when empty.

"Form Fields"

Setting Default What it does
"Show Phone Field" Yes Adds the phone input to the form.
"Phone Required" No Makes the phone field mandatory (checked in the browser and on the server). Only applies, and is only shown, while "Show Phone Field" is Yes.
"Show Subject Field" Yes Adds the subject input to the form.
"Subject Required" No Makes the subject field mandatory. Only applies, and is only shown, while "Show Subject Field" is Yes.
"Custom Fields" (none) Dynamic rows with columns "Field Label", "Type", "Required", "Placeholder" and "Options". Type is one of text, textarea, select, radio, checkbox, email, tel; Required is 1 or 0; Options is a comma-separated list for select and radio. Rows without a label are ignored. A required custom field left empty is refused with "

"Email Settings"

Setting Default What it does
"Admin Notification Email" [email protected] Recipient of the notification sent for every accepted submission.
"Sender Email Identity" General Contact Store email identity used as the From address of both emails.
"Send Customer Confirmation" Yes Sends a short acknowledgement to the address entered in the form. The submitted text is not included. Set to No to send no copy.
"Max Confirmations Per Recipient Per Hour" 2 Confirmation emails sent to one address within an hour. Later submissions are still stored and notified to the admin, but no confirmation is sent. 0 sends none.
"Max Confirmations Per Client IP Per Hour" 5 Confirmation emails triggered from one client IP within an hour. 0 sends none.

The template identifiers are stored in panth_advancedcontact/email/admin_template (default panth_advancedcontact_admin_notification) and panth_advancedcontact/email/customer_template (default panth_advancedcontact_customer_confirmation). They are set in etc/config.xml only and have no field in the admin form.

"Bot Protection"

Setting Default What it does
"Enable Honeypot" Yes Adds a hidden website_url input. A submission with a value in it receives the success response and is discarded.
"Block Spam By Message Content" Yes Runs the content guard over the name, subject, message and custom field values. Matches are discarded with the success response, not stored and not emailed.
"Additional Blocked Terms" (empty) Extra terms or domains, one per line (commas also separate terms), added to the built-in list of link-shortener domains. Matched whole-word and case-insensitively. Shown only when the content guard is enabled.
"Enable Rate Limiting" Yes Counts stored submissions from the same client IP address in the last hour and rejects further ones with an error message.
"Max Submissions Per Hour (per IP)" 5 Limit used by rate limiting. Shown only when rate limiting is enabled. An empty or 0 value falls back to 5.
"Minimum Form Fill Time (seconds)" 2 A hidden timestamp is rendered with the form; a submission arriving sooner than this many seconds after rendering receives the success response and is discarded. 0 turns the check off; an empty value falls back to 2.

Configuration paths:

With the defaults the module is active immediately after installation: the form shows name, email, phone, subject and message, the sidebar shows the placeholder contact details, all four protection layers are on, and both emails go to [email protected] until "Admin Notification Email" and "Email Address" are changed.

Usage

Contact form

The form at /contact posts to contact/index/post, built with the store URL so store codes in URLs and installs under a sub-path work. It contains:

On success the form card is replaced by the "Message Sent!" panel with the configured success message. Validation errors from the server are shown above the form.

Where submissions go

Admin pages

There is no attachment or file upload support.

Spam protection as coded

  1. Honeypot: if website_url is not empty the request gets the success response and nothing is saved.
  2. Content guard (Model\Spam\ContentGuard): the name, subject, message and custom_* values are checked for built-in shortener domains (share.google, t.me, bit.ly, tinyurl.com, goo.gl, is.gd, cutt.ly, rebrand.ly, rb.gy, shorturl.at) plus the "Additional Blocked Terms"; for Russian-language money-transfer phrases combined with a currency mention or a link; for three or more http(s):// links; and for a URL or www. in the name or subject when that value is 40 characters or shorter. A match gets the success response, is logged, and is not saved or emailed.
  3. Minimum fill time: if the hidden timestamp is present and fewer than "Minimum Form Fill Time (seconds)" have elapsed, the request gets the success response and nothing is saved.
  4. Rate limit: stored submissions from the same client IP address in the last hour (measured with the database clock) are counted; at or above "Max Submissions Per Hour (per IP)" the request fails with an error message.

Email and telephone values are not inspected by the content guard. Blocked submissions are not counted towards the rate limit because they are never stored.

Templates that can be overridden

Developer Notes

Uninstallation

The module has no uninstall script. The panth_contact_submission table and its rows, and the panth_advancedcontact/* values in core_config_data, remain in the database until removed manually. Disabling the module restores the stock Magento_Contact page.

Support

Documentation

USER_GUIDE.md walks through the configuration groups, the admin submission grid and statuses, creating custom fields, and troubleshooting (form not showing, emails not sending, bot protection too strict, custom fields not appearing).

License

Commercial software license. See LICENSE.txt in this repository.

Changelog

See CHANGELOG.md.

Links


All versions of module-advanced-contact-us with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
magento/framework Version >=103.0
magento/module-contact Version >=100.4
magento/module-backend Version >=102.0
magento/module-ui Version >=101.2
mage2kishan/module-core Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mage2kishan/module-advanced-contact-us contains the following files

Loading the files please wait ...