Form Templates

Form Templates enable you to manage Template Overrides as a plugin to easily reuse across projects or share in the Plugin Store.

# Form Template Class

A Form Template class is quite simple and only requires that you define the name of your Form Template and the path where you store your Template Overrides.

<?php

namespace mycompany\myplugin\integrations\sproutforms\formtemplates;

use barrelstrength\sproutforms\base\FormTemplates;
use Craft;

class MyFormTemplates extends FormTemplates
{
    public function getName()
    {
        return Craft::t('my-plugin', 'My Custom Form Templates');
    }

    public function getPath()
    {
        return Craft::getAlias('@mycompany/myplugin/templates/_integrations/sproutforms/formtemplates/');
    }
}

# Register Event

Once you have created your Custom Form Templates, register you Form Template class with Sprout Forms to display your Form Templates in the Form Template dropdown.

namespace mycompany\myplugin;

use mycompany\myplugin\integrations\sproutforms\formtemplates\MyFormTemplates;
use barrelstrength\sproutforms\services\Forms;
use craft\events\RegisterComponentTypesEvent;
use yii\base\Event;

class MyPlugin extends Plugin
{

  public function init()
  {
    parent::init();
    
    Event::on(Forms::class, Forms::EVENT_REGISTER_FORM_TEMPLATES, function(RegisterComponentTypesEvent $event) {
      $event->types[] = MyFormTemplates::class;
    });
  
  }
}

TIP

Form Templates are available in Sprout Forms for Craft 3. Upgrade to Craft 3 and enjoy the power and flexibility of Form Templates!