关于smarty 模板中继承

1.关于 layout 模板的使用

layout.tpl (父模板)



  {block name=title}默认页面标题{/block}  


{block name=body}{/block}


mypage.tpl (子模板)

{extends file='myproject.tpl'}
{block name=title}我的页面标题{/block}
{block name=body}我的HTML页面内容在这里{/block}

显示上面的模板

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

2.关于 block 的使用

  • 1、append {block}区域代码将附加到父模板的{block}内容之后

  • 2、prepend {block}区域代码将附加到父模板的{block}内容之前

  • 3、hide 在没有该名称区域的时候,忽略区域内容。

  • 4、nocache 关闭{block} 缓存

  • 5、{$smarty.block.child}

  • 6、{$smarty.block.parent}


1、append 例子

parent.tpl


  
    {block name="title"}Default Title{/block}
  

append.tpl

{extends file="parent.tpl"} 
{block name="title" append}
Page Title - 
{/block}

结果输出:


  
    Page title - Default Title  
  

2、{$smarty.block.child} 例子

parent.tpl


  
    {block name="title"}The {$smarty.block.child} was inserted here{/block}
  

child.tpl

{extends file="parent.tpl"} 
{block name="title"}
Child Title
{/block}

结果输出:


  
    The Child Title was inserted here
  

3、{$smarty.block.parent} 例子

parent.tpl


  
    {block name="title"}Parent Title{/block}
  

child.tpl

{extends file="parent.tpl"} 
{block name="title"}
You will see now - {$smarty.block.parent} - here
{/block}

结果输出:


  
    You will see now - Parent Title - here
  

你可能感兴趣的:(extends,block,smarty)