Files
smarty/docs/programmers/api-functions/api-template-exists.md
Simon Wisselink cdf1ed2a50 Simplified the (no)caching architecture by:
- removing support for $cache_attrs for registered plugins,
- removing the undocumented {make_nocache} tag and the deprecated {insert} tag and associated code
- removing support for a compile_id property on include tags.

Fixes a bug in extends: resources by propagating the nocache-hashes between a master template and it's subtemplates in \Smarty\Template::_subTemplateRender. This might need further improvement.
2023-01-13 15:47:57 +01:00

1.1 KiB

templateExists()

checks whether the specified template exists

Description

bool

templateExists

string

template

It can accept either a path to the template on the filesystem or a resource string specifying the template.

This example uses $_GET['page'] to {include} a content template. If the template does not exist then an error page is displayed instead. First the page_container.tpl

<html>
<head><title>{$title}</title></head>
<body>
{include file='page_top.tpl'}

{* include middle content page *}
{include file=$content_template}

{include file='page_footer.tpl'}
</body>

And the php script

<?php

// set the filename eg index.inc.tpl
$mid_template = $_GET['page'].'.inc.tpl';

if( !$smarty->templateExists($mid_template) ){
    $mid_template = 'page_not_found.tpl';
}
$smarty->assign('content_template', $mid_template);

$smarty->display('page_container.tpl');

?>

See also display(), fetch(), and {include}