PHPackages                             zanderwar/silverstripe-thankfully - 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. zanderwar/silverstripe-thankfully

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

zanderwar/silverstripe-thankfully
=================================

A module designed to reduce the potentially thousands of Thank You pages that can be sometimes needed for large sites

2.0.1(9y ago)2612MITPHPPHP &gt;=5.3.0

Since May 24Pushed 9y agoCompare

[ Source](https://github.com/zanderwar/silverstripe-thankfully)[ Packagist](https://packagist.org/packages/zanderwar/silverstripe-thankfully)[ RSS](/packages/zanderwar-silverstripe-thankfully/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (3)Dependencies (2)Versions (6)Used By (0)

silverstripe-thankfully
=======================

[](#silverstripe-thankfully)

If you're tired of having to continuously create dozens of different "Thank You" pages than *thankfully* this module exists!

With this module you can easily create a "Thank You" page that is configurable in the CMS for any page type that you assign this module to.

Features
--------

[](#features)

- Page creates itself under the parent on dev/build
- Query string support for conversion tracking etc, configurable from the CMS

Installation
------------

[](#installation)

Installation is supported via composer only:

```
$ composer require zanderwar/silverstripe-thankfully ~2.0
```

Run a dev/build afterwards

Configuration
-------------

[](#configuration)

1. Open your `mysite/_config.php` file
2. Add: ```
    ContactPage::add_extension('ThankfullyExtension');
    ContactPage::add_extension('ThankfullyControllerExtension');
    ```
3. Run a `?flush=1`
4. Open the page that has `ContactPage` (in this example) as the type within the CMS and you will now see a "Thank You" tab

In your controller (in this example `ContactPage_Controller`) you now have access to the method `$this->getThankYouPage()` which you can then immediately `return $this->redirect($this->getThankYouPage()->Link())`. This would most commonly be done in a form processing method

If the page title and/or content is not set in the page with the extension, it will fallback to the values set in the `Thank You (Generic)` that the dev/build created in the root of your site tree, if no defaults are configured, then the visitor will get a bit of an ugly experience

Example
-------

[](#example)

```
class ExamplePage_Controller extends Page_Controller {

    private static $allowed_actions = array(
        'index'
    );

    public function index()
    {
        /** @var ThankfullyPage $thankYou */
        $thankYou = $this->getThankYouPage();
        $thankYou->setAllowed(true); // Required if "Always Allowed" is disabled in the CMS
        $thankYou->setReturnTo('/home/'); // Optional, if not provided the link to the parent page will be used

        return $this->redirect($thankYou->Link());
    }
}
```

Contributing
------------

[](#contributing)

If you would like to contribute to this repository, please follow the [contributing guide](CONTRIBUTING.md).

License
-------

[](#license)

[Click here](LICENSE.md) for more information about the licensing of this module

Issues
------

[](#issues)

To report issues with this module, please use our [issue tracker](../../issues).

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

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 ~11 days

Total

3

Last Release

3301d ago

Major Versions

1.0.1 → 2.0.02017-05-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/f9ffb8a23222134759e16951844017faa8b803ba54bc1f2b36eabc8421ab776d?d=identicon)[zanderwar](/maintainers/zanderwar)

---

Top Contributors

[![zanderwar](https://avatars.githubusercontent.com/u/13566916?v=4)](https://github.com/zanderwar "zanderwar (3 commits)")[![adam-stead](https://avatars.githubusercontent.com/u/589778?v=4)](https://github.com/adam-stead "adam-stead (2 commits)")

---

Tags

silverstripethanks

### Embed Badge

![Health badge](/badges/zanderwar-silverstripe-thankfully/health.svg)

```
[![Health](https://phpackages.com/badges/zanderwar-silverstripe-thankfully/health.svg)](https://phpackages.com/packages/zanderwar-silverstripe-thankfully)
```

###  Alternatives

[silverstripe/userforms

UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code

1321.1M83](/packages/silverstripe-userforms)[symbiote/silverstripe-advancedworkflow

Adds configurable workflow support to the CMS, with a GUI for creating custom workflow definitions.

46299.9k9](/packages/symbiote-silverstripe-advancedworkflow)[silverstripe/sharedraftcontent

Share draft page content with non-CMS users

21419.6k11](/packages/silverstripe-sharedraftcontent)

PHPackages © 2026

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