1.关于 layout 模板的使用

layout.tpl (父模板)

<html>
<head>
  <title>{block name=title}默认页面标题{/block}</title>  
</head>
<body>
{block name=body}{/block}
</body>
</html>

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

<html>
  <head>
    <title>{block name="title"}Default Title{/block}</title>
  </head>
</html>

append.tpl

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

结果输出:

<html>
  <head>
    <title>Page title - Default Title  </title>
  </head>
</html>

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

parent.tpl

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

child.tpl

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

结果输出:

<html>
  <head>
    <title>The Child Title was inserted here</title>
  </head>
</html>

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

parent.tpl

<html>
  <head>
    <title>{block name="title"}Parent Title{/block}</title>
  </head>
</html>

child.tpl

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

结果输出:

<html>
  <head>
    <title>You will see now - Parent Title - here</title>
  </head>
</html>

fengxiuping
330 声望15 粉丝

努力后,相信一切都有可能!


引用和评论

0 条评论