code: public static function getForm($varId, $strColumn='main', $blnModule=false)
  	{
  		if (\is_object($varId))
  		{
  			$objRow = $varId;
  		}
  		else
  		{
  			if ($varId == '')
  			{
  				return '';
  			}
  
  			$objRow = FormModel::findByIdOrAlias($varId);
  
  			if ($objRow === null)
  			{
  				return '';
  			}
  		}
  
  		$strClass = $blnModule ? Module::findClass('form') : ContentElement::findClass('form');
  
  		if (!class_exists($strClass))
  		{
  			static::log('Form class "'.$strClass.'" does not exist', __METHOD__, TL_ERROR);
  
  			return '';
  		}
  
  		$objRow->typePrefix = $blnModule ? 'mod_' : 'ce_';
  		$objRow->form = $objRow->id;
  
  		/** @var Form $objElement */
  		$objElement = new $strClass($objRow, $strColumn);
  		$strBuffer = $objElement->generate();
  
  		// HOOK: add custom logic
  		if (isset($GLOBALS['TL_HOOKS']['getForm']) && \is_array($GLOBALS['TL_HOOKS']['getForm']))
  		{
  			foreach ($GLOBALS['TL_HOOKS']['getForm'] as $callback)
  			{
  				$strBuffer = static::importStatic($callback[0])->{$callback[1]}($objRow, $strBuffer, $objElement);
  			}
  		}
  
  		return $strBuffer;
  	}
docs: Generate a form and return it as string
  
  @param mixed   $varId     A form ID or a Model object
  @param string  $strColumn The column the form is in
  @param boolean $blnModule Render the form as module
  
  @return string The form HTML markup