是否有可能像全局区域一样以相同的方式显示在每个布局模板中?也就是说,如果我有:
<?php echo $helper->renderArea('global.bottom', '.clearfix') ?>在几个不同的布局文件中(pageSuccess.php、customPageSuccess.php、homePageSuccess.php、etcSuccess.php)
每当我为他们中的一个人在这个领域里改变什么的时候,他们所有人都会改变。比方说,我使用pageSuccess.php布局在任何页面中向该区域添加了一个新的区域和一个新的文本小部件,并且使用这个全局区域在每个布局中都会显示更改。
有可能吗?
发布于 2011-11-17 02:58:38
因此,您需要在某些模板中有一些代码,这些代码将以完全相同的方式呈现给这些模板。
我的建议是,使用插槽。例如,您有这样的模板: helloSuccess.php和goodbyeSuccess.php,但是在这两个模板中都需要显示一些内容(假设是当前的时间)。所以,你不想在网站上到处显示它,但是一些模板可能需要它。
您可以有一个layout.php (主应用程序布局模板)如下所示:
<html>
<head>
{....}
</head>
<body>
<div id="special_container">
<?php if(has_slot("time")):?>
<?php include_slot("time")?>
<?php endif?>
</div>
<div class="container">
<?php echo $sf_content ?>
</div>
</body>
</html>然后,希望在"special_container“中呈现某些内容的每个模板都应该实现时隙"time”。因此,回到这个示例,helloSuccess.php和goodbyeSuccess.php的代码应该如下所示:
<?php slot('time') ?>
<!-- custom sidebar code for the current template-->
<h1>Time </h1>
<p>name: <?php echo date("D M d, Y G:i a"); ?></p>
<?php end_slot() ?>有关插槽、组件和部分的更多信息,我建议使用以下链接:在视图层内部 its symfony 1.2,但几乎每个symfony版本在2.0之前都是如此
https://stackoverflow.com/questions/8090912
复制相似问题