The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ 注册模板块 ]

我们有时候需要反复调用某个块,这个时候,我可以将那个仿佛调用的块给注册起来,然后引用即可。

我们可以在模板中写下如下的代码:

  1. <assign name="sValue" value="I am the DoYouHaoBaby CEO !" />   
  2.   
  3. {#call block1}   
  4. <subtemplate call="block1"><br>   
  5. {#call block2}   
  6. <subtemplate call="block2"><br>   
  7. {#call block1}   
  8. <subtemplate call="block1">   
  9.   
  10. {#第一个块}   
  11. <declare name='block1'>   
  12. {$sValue} | NOT TM ~ BUT TMD | block1   
  13. </declare>   
  14.   
  15. {#第二个块}   
  16. <declare name='block2'>   
  17. {$sValue} | NOT TM ~ BUT TMD | block2   
  18. </declare>  

程序运行后的主模板编译PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-15 10:21:02  */ ?>   
  2. <?php $sValue = 'I am the DoYouHaoBaby CEO !'; ?>   
  3.   
  4. <!--call block1-->   
  5. <?php echo( $sValue ); ?> | NOT TM ~ BUT TMD | block1<br>   
  6. <!--call block2-->   
  7. <?php echo( $sValue ); ?> | NOT TM ~ BUT TMD | block2<br>   
  8. <!--call block1-->   
  9. <?php echo( $sValue ); ?> | NOT TM ~ BUT TMD | block1   
  10.   
  11. <!--第一个块-->   
  12.   
  13.   
  14. <!--第二个块-->  

如图:


程序输出结果如下:

  1. I am the DoYouHaoBaby CEO ! | NOT TM ~ BUT TMD | block1   
  2. I am the DoYouHaoBaby CEO ! | NOT TM ~ BUT TMD | block2   
  3. I am the DoYouHaoBaby CEO ! | NOT TM ~ BUT TMD | block1  

如图:

说明:模板扫描是从下面依次向上,所以在调用前模块必须是注册了的。所以,这个时候我们必须确保注册block块的代码在下面,调用在上面。