首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Diem“全球”布局区,Symfony cms

Diem“全球”布局区,Symfony cms
EN

Stack Overflow用户
提问于 2011-11-11 07:29:53
回答 1查看 305关注 0票数 0

是否有可能像全局区域一样以相同的方式显示在每个布局模板中?也就是说,如果我有:

代码语言:javascript
复制
<?php echo $helper->renderArea('global.bottom', '.clearfix') ?>

在几个不同的布局文件中(pageSuccess.php、customPageSuccess.php、homePageSuccess.php、etcSuccess.php)

每当我为他们中的一个人在这个领域里改变什么的时候,他们所有人都会改变。比方说,我使用pageSuccess.php布局在任何页面中向该区域添加了一个新的区域和一个新的文本小部件,并且使用这个全局区域在每个布局中都会显示更改。

有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-17 02:58:38

因此,您需要在某些模板中有一些代码,这些代码将以完全相同的方式呈现给这些模板。

我的建议是,使用插槽。例如,您有这样的模板: helloSuccess.php和goodbyeSuccess.php,但是在这两个模板中都需要显示一些内容(假设是当前的时间)。所以,你不想在网站上到处显示它,但是一些模板可能需要它。

您可以有一个layout.php (主应用程序布局模板)如下所示:

代码语言:javascript
复制
<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的代码应该如下所示:

代码语言:javascript
复制
<?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之前都是如此

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8090912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档