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!