ExpressionEngine Docs

Template Model

class ExpressionEngine\Model\FileSyncedModel\Template

Properties

Required

site_id

group_id

template_name

template_type

Optional

template_id Key

template_data

template_notes

edit_date

last_author_id

cache

refresh

no_auth_bounce

enable_http_auth

allow_php

php_parse_location

hits

protect_javascript

Relationships

Site

TemplateGroup

LastAuthor

Roles

TemplateRoute

DeveloperLogItems

Versions

Methods

getPath

Returns the group name/template name path.

getFilePath

Returns the full server path.

getModificationTime

Returns the edit date of the template.

setModificationTime

getFileExtension

Returns the template’s file extention, such as html css or js.

saveNewTemplateRevision

Saves the template as a revision.

validateTemplateName

Returns true if the template name is not a reserved name.

Events

beforeInsert

afterSave

Examples

Get a Template

$template = ee('Model')->get('Template')->filter('template_id', 6)->first();

Modify the Template Data

// Get the template object.
$template = ee('Model')->get('Template')->filter('template_id', 6)->first();

// Add the template code (html, EE tags...etc)
$template->template_data = "<html>....</html>";

// Validate and Save the template.
$result = $template->validate();

if ($result->isValid())
{
  $template->save();
}

Create a new Template and add to a template group

// Make a new template object.
$template = ee('Model')->make('Template');

// Add the required fields.
$template->site_id       = ee()->config->item('site_id');
$template->group_id      = 1; // Must be an existing group.
$template->template_name = 'My New Template';
$template->template_type = 'webpage';

// Validate and Save the new template.
$result = $template->validate();

if ($result->isValid())
{
  $template->save();
}

Restrict a Template to Members

// Get the template object.
$template = ee('Model')->get('Template')->filter('template_id', 6)->first();

// Assign the Role Models.
$template->Roles = ee('Model')->get('Role', array(5))->all();

// Validate and Save the new template.
$result = $template->validate();

if ($result->isValid())
{
  $template->save();
}