codecamp

Smarty:block函数

{block}

{block}可在模板上定义一块区域,以进行模板继承。详细参见模板继承.

子模板中的{block}区域代码,将会替换父模板对应的区域代码。

另外,{block}可以设置成合并父子模板的相应区域。在子模板的{block}中定义 append 或prepend,可以使子模板附加在父模板 {block}区域的后面或前面。 在{block}内容中使用{$smarty.block.parent},可以让父模板的区域代码放到 子模板{block}内的任何位置。

{blocks}可以嵌套使用。

属性:

参数名称类型必选参数默认值说明
namestringYesn/a模板区域的名称

可选属性 (仅在子模板中使用):

名称说明
append{block}区域代码将附加到父模板的{block}内容之后
prepend{block}区域代码将附加到父模板的{block}内容之前
hide在没有该名称区域的时候,忽略区域内容。
nocache关闭{block} 缓存

Example 7.15. 简单的 {block} 例子

parent.tpl

<html>
  <head>
    <title>{block name="title"}Default Title{/block}</title>
    <title>{block "title"}Default Title{/block}</title>  {* short-hand  *}
  </head>
</html>

child.tpl

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

结果输出:

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

Example 7.16. 前面附加 {block} 例子

parent.tpl

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

child.tpl

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

结果输出

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

Example 7.17. 后面附加 {block} 例子

parent.tpl

<html>
  <head>
    <title>{block name="title"} is my title{/block}</title>
  </head>
</html>

child.tpl

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

结果输出:

<html>
  <head>
    <title>Page title is my titel</title>
  </head>
</html>

Example 7.18. {$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>

Example 7.19. {$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>
Smarty:assign函数
Smarty:call函数
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

I.Smarty基础

1.Smart是什么?

II.Smarty模板设计师篇

6.Smarty复合修饰器

9.Smarty配置文件

10.Smarty调试控制台

III. 程序开发者篇

11. Smarty字符集编码

12.Smarty常量

13.Smarty成员变量

14.Smarty成员方法

17.Smarty高级特性

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }