Template Model
class ExpressionEngine\Model\FileSyncedModel\Template
Properties
Required
site_idgroup_idtemplate_nametemplate_type
Optional
template_idKeytemplate_datatemplate_notesedit_datelast_author_idcacherefreshno_auth_bounceenable_http_authallow_phpphp_parse_locationhitsprotect_javascript
Relationships
SiteTemplateGroupLastAuthorRolesTemplateRouteDeveloperLogItemsVersions
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 extension, 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
beforeInsertafterSave
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();
}