Smarty:block函數(shù)

2018-10-14 11:15 更新

{block}

{block}可在模板上定義一塊區(qū)域,以進(jìn)行模板繼承。詳細(xì)參見(jiàn)模板繼承.

子模板中的{block}區(qū)域代碼,將會(huì)替換父模板對(duì)應(yīng)的區(qū)域代碼。

另外,{block}可以設(shè)置成合并父子模板的相應(yīng)區(qū)域。在子模板的{block}中定義 append 或prepend,可以使子模板附加在父模板 {block}區(qū)域的后面或前面。 在{block}內(nèi)容中使用{$smarty.block.parent},可以讓父模板的區(qū)域代碼放到 子模板{block}內(nèi)的任何位置。

{blocks}可以嵌套使用。

屬性:

參數(shù)名稱類型必選參數(shù)默認(rèn)值說(shuō)明
namestringYesn/a模板區(qū)域的名稱

可選屬性 (僅在子模板中使用):

名稱說(shuō)明
append{block}區(qū)域代碼將附加到父模板的{block}內(nèi)容之后
prepend{block}區(qū)域代碼將附加到父模板的{block}內(nèi)容之前
hide在沒(méi)有該名稱區(qū)域的時(shí)候,忽略區(qū)域內(nèi)容。
nocache關(guān)閉{block} 緩存

Example 7.15. 簡(jiǎn)單的 {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}

結(jié)果輸出:

<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}

結(jié)果輸出

<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}

結(jié)果輸出:

<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}

結(jié)果輸出:

<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}

結(jié)果輸出:

<html>
  <head>
    <title>You will see now - Parent Title - here</title>
  </head>
</html>
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)