/**
* Create and add Snippet Template Field
*
* @param array $parameters Array with Parameters
* @param string $parameters['name'] SnippetTemplateField name
* @param string $parameters['type'] SnippetTemplateField type (string | int | bool)
* @param string $parameters['scope'] SnippetTemplateField scope (frontend | backend)
*
* @return Newscoop\Entity\Snippet\SnippetTemplate
*/
public function createField(array $parameters)
{
if (!array_key_exists('name', $parameters)) {
throw new \InvalidArgumentException("Name is not defined");
}
$defaultParams = array('type' => 'string', 'scope' => 'frontend');
foreach ($defaultParams as $defaultParam => $defaultValue) {
if (!array_key_exists($defaultParam, $parameters)) {
$parameters[$defaultParam] = $defaultValue;
}
}
$snippetTemplateField = new SnippetTemplateField();
$snippetTemplateField->setName($parameters['name']);
$snippetTemplateField->setType($parameters['type']);
$snippetTemplateField->setScope($parameters['scope']);
return $this->addField($snippetTemplateField);
}