PHPackages                             alexstack/silverstripe-custom-page-with-contact-us-form - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. alexstack/silverstripe-custom-page-with-contact-us-form

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

alexstack/silverstripe-custom-page-with-contact-us-form
=======================================================

SilverStripe Custom Layout Page with Contact Us Form &amp; flexible frontend with Google Recaptcha.

1.2.0(6y ago)11611BSD-3-ClauseScheme

Since Jul 2Pushed 6y agoCompare

[ Source](https://github.com/AlexStack/SilverStripe-Custom-Layout-Page-with-Contact-Us-Form)[ Packagist](https://packagist.org/packages/alexstack/silverstripe-custom-page-with-contact-us-form)[ Docs](https://github.com/AlexStack/SilverStripe-Custom-Layout-Page-with-Contact-Us-Form/)[ RSS](/packages/alexstack-silverstripe-custom-page-with-contact-us-form/feed)WikiDiscussions master Synced yesterday

READMEChangelog (3)Dependencies (4)Versions (5)Used By (1)

SilverStripe Custom Layout Page with Contact Us Form &amp; Google Recaptcha
===========================================================================

[](#silverstripe-custom-layout-page-with-contact-us-form--google-recaptcha)

[![Latest Stable Version](https://camo.githubusercontent.com/84c97c7b3e23f2aa0463c60e7361ac9c9d61f092940857575777640c76dd2d38/68747470733a2f2f706f7365722e707567782e6f72672f616c6578737461636b2f73696c7665727374726970652d637573746f6d2d706167652d776974682d636f6e746163742d75732d666f726d2f762f737461626c65)](https://packagist.org/packages/alexstack/silverstripe-custom-page-with-contact-us-form)[![License](https://camo.githubusercontent.com/4b1ac4e1102471b51632944b41cb1da1ccbea0de51cb46b7aac320dec6a2a1bf/68747470733a2f2f706f7365722e707567782e6f72672f616c6578737461636b2f73696c7665727374726970652d637573746f6d2d706167652d776974682d636f6e746163742d75732d666f726d2f6c6963656e7365)](https://packagist.org/packages/alexstack/silverstripe-custom-page-with-contact-us-form)[![Total Downloads](https://camo.githubusercontent.com/f7c500de408c6a17bda6716e55958480f6251c1d93c5f12aa0237283960e574e/68747470733a2f2f706f7365722e707567782e6f72672f616c6578737461636b2f73696c7665727374726970652d637573746f6d2d706167652d776974682d636f6e746163742d75732d666f726d2f646f776e6c6f616473)](https://packagist.org/packages/alexstack/silverstripe-custom-page-with-contact-us-form)

- SilverStripe Custom Layout Page with Contact Us Form &amp; flexible frontend with Google Recaptcha.

How to install
==============

[](#how-to-install)

```
composer require alexstack/silverstripe-custom-page-with-contact-us-form
```

Rebuild the database and flush admin page
=========================================

[](#rebuild-the-database-and-flush-admin-page)

- Run your-site-url/dev/build?flush=1 after composer install and refresh your admin page by /admin?flush=1

How to use it
=============

[](#how-to-use-it)

- [Create a new page in SilverStripe admin and choose page type "Custom Page with Contact Us Form"](#choose-page-type)
- [Choose custom page layout](#select-page-layout) from [built-in layouts](#built-in-layouts)
- Or [use your own template xxx.ss](#custom-ss)
- [Change Form Settings ](#form-settings), [Custom form display fields](#display-fields)
- [Set up Google Recaptcha](#set-up-google-recaptcha)
- [Save &amp; publish the page](#publish-page)

Create a new page in SilverStripe admin and choose page type "Custom Page with Contact Us Form"
===========================================================================================================================================

[](#create-a-new-page-in-silverstripe-admin-and-choose-page-type-custom-page-with-contact-us-form)

[![choose page type](docs/images/choose-page-type.png "choose page type")](docs/images/choose-page-type.png)

Choose custom page layout
=======================================================================

[](#choose-custom-page-layout)

[![Choose custom page layout](docs/images/select-page-layout.png "Choose custom page layout")](docs/images/select-page-layout.png)

Change Form Settings
=============================================================

[](#change-form-settings)

[![Change Form Settings](docs/images/contact-us-form-settings.png "Change Form Settings")](docs/images/contact-us-form-settings.png)

Set up Google Recaptcha v2
=============================================================================

[](#set-up-google-recaptcha-v2)

[![Set up Google Recaptcha v2](docs/images/set-up-google-recaptcha.png "Set up Google Recaptcha v2")](docs/images/set-up-google-recaptcha.png)

Set up Google Recaptcha v3
================================================================================

[](#set-up-google-recaptcha-v3)

[![Set up Google Recaptcha v3](docs/images/set-up-google-recaptcha-v3.png "Set up Google Recaptcha v3")](docs/images/set-up-google-recaptcha-v3.png)

Change global settings
======================

[](#change-global-settings)

[![Change global settings](docs/images/global-settings.png "Change global settings")](docs/images/global-settings.png)

Built-in page layouts
=================================================================

[](#built-in-page-layouts)

- It will use your page.ss in your own theme folder for global layout. eg. it will use your own header/footer/css/js
- Built-in page layouts use bootstrap 4.x for grid layout

### Built-in layout 1: Content Left, Form right if enabled

[](#built-in-layout-1-content-left-form-right-if-enabled)

[![Content Left, Form right if enabled](docs/images/page-layout-001.png "Content Left, Form right if enabled")](docs/images/page-layout-001.png)

### Built-in layout 2: Content Right, Form left if enabled

[](#built-in-layout-2-content-right-form-left-if-enabled)

[![Content Right, Form left if enabled ](docs/images/page-layout-002.png "Content Right, Form left if enabled ")](docs/images/page-layout-002.png)

### Built-in layout 3: Content Top, Form bottom if enabled

[](#built-in-layout-3-content-top-form-bottom-if-enabled)

[![Content Top, Form bottom if enabled ](docs/images/page-layout-003.png "Content Top, Form bottom if enabled ")](docs/images/page-layout-003.png)

### Built-in layout 4: Content Top, 3 cards below with Extra Images 1,2,3

[](#built-in-layout-4-content-top-3-cards-below-with-extra-images-123)

[![Content Top, 3 cards below with Extra Images 1,2,3 ](docs/images/page-layout-004.png "Content Top, 3 cards below with Extra Images 1,2,3 ")](docs/images/page-layout-004.png)

### Built-in layout 5: Two Contents per line, two lines with Extra Content 1,2,3

[](#built-in-layout-5-two-contents-per-line-two-lines-with-extra-content-123)

[![2 Contents per line, 2 lines with Extra Content 1,2,3 ](docs/images/page-layout-005.png "2 Contents per line, 2 lines with Extra Content 1,2,3 ")](docs/images/page-layout-005.png)

Use your own .ss template file for a custom page layout
============================================================================================

[](#use-your-own-ss-template-file-for-a-custom-page-layout)

- eg. NewProductPage.ss. Please make sure the template file your-theme/templates/includes/xxx.ss already exists!
- How to start the .ss: Copy vendor/alexstack/silverstripe-custom-page-with-contact-us-form/templates/Includes/CustomLayoutPage1.ss to your-theme/includes, rename it to NewProductPage.ss, change the .ss code inside to what you want. Just keep the variable names the same. [![custom-my-own-template-file](docs/images/custom-my-own-template-file.png)](docs/images/custom-my-own-template-file.png)
- Do not forget to run ?flush=1 first to load your new .ss template

Contact Us Form display fields
========================================================================

[](#contact-us-form-display-fields)

- There are some built-in fields. You can choose what fields will display from FirstName | Email | Phone | Message | LastName | Mobile | Company | Website | Address | Street | PostalCode | City | State | Country
- Use | for the fields separator.
- By default, the form will display: FirstName | Email | Phone | Company | Message
- You can easily change Company to Address by replace it with: FirstName | Email | Phone | Company | Message
- Or you can add more fields if you want.

Override the frontend form template
===================================

[](#override-the-frontend-form-template)

- You can override the .ss template file if you want to add more fields or change fields display orders, or something else.
- How to override: Copy vendor/alexstack/silverstripe-custom-page-with-contact-us-form/templates/Includes/ContactUsCustomForm1.ss to your-theme/includes, and add/change the html inside to what you want. Just keep the input field name the same.
- Can I add more fields to the form? You can also add some extra fields to extend the form without touch a php file or database. Available extra field names are: ExtraData1, ExtraData2, ExtraData3, ExtraData4, ExtraData5, Category, MyDate
- Override a form .ss template example screenshot: [![override-form-ss](docs/images/override-form-ss.png)](docs/images/override-form-ss.png)

View contact us form data
=========================

[](#view-contact-us-form-data)

- It will send an email to the notification email address after a form submitted
- And you can view all the data in admin: [![view-contact-us-data](docs/images/view-contact-us-data.png)](docs/images/view-contact-us-data.png)

Thanks
======

[](#thanks)

- Inspired by Fractaslabs' contact-page

License
=======

[](#license)

- BSD-3-Clause

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 60% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

3

Last Release

2500d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/901cd2118e154c3edde87b308ac1b95ce5b98ee88fedd0be3774d5961e71e389?d=identicon)[AlexStack](/maintainers/AlexStack)

---

Top Contributors

[![AaronZengNZ](https://avatars.githubusercontent.com/u/47236993?v=4)](https://github.com/AaronZengNZ "AaronZengNZ (3 commits)")[![AlexStack](https://avatars.githubusercontent.com/u/33879126?v=4)](https://github.com/AlexStack "AlexStack (2 commits)")

---

Tags

silverstripemoduleformcontactcontact formcontact uscustom formcontact us formcustom-layout

### Embed Badge

![Health badge](/badges/alexstack-silverstripe-custom-page-with-contact-us-form/health.svg)

```
[![Health](https://phpackages.com/badges/alexstack-silverstripe-custom-page-with-contact-us-form/health.svg)](https://phpackages.com/packages/alexstack-silverstripe-custom-page-with-contact-us-form)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
