在视图脚本中使用 css DIV 区域

Using css DIV areas in View Script

在我的布局脚本中,我有一些 css 区域,例如:

<div id="section-navigation">
            Test
</div>

如何用其他数据覆盖视图脚本中的这些部分?我想动态覆盖它。

这是我的 layout.phtml

的片段
<head>
<?php echo $this->headMeta(); ?>
<?php echo $this->headTitle(); ?>
<?php echo $this->headLink()->prependStylesheet($this->baseUrl().'/css/grid.css'); ?>
</head>
<body>
<div id="container">
    <div id="header">
        <h1><img src="./Images/cheyenne.jpg" alt="cheyenne-IT consulting" width="490" height="115" /><?php echo $this->escape($this->title); ?></h1>
    </div>
    <div id="navigation">
        <ul>
                <li><a href="<?php echo $this->url(array('controller'=>'arbeitskalender', 'action'=>'index'));?>">Arbeitskalender</a></li>

        </ul>
    </div>
    <div id="content-container">
        <div id="section-navigation">
            test
        </div>

        <div id="aside">
            test
        </div>
        <div id="content">
            <?= $this->layout()->content ?>
        </div>

  </div>
  <div id="footer">
            copyright 2014  
    </div>
</div>
</body>

表单布局中可能还有另一个 属性?

$this->layout()->content 

如果您在导航中的链接 <div> 会针对每个操作发生变化,并且您希望对其进行动态设置,那么您可以创建一个自定义视图脚本文件并将其呈现在您的布局中。

像这样:

navigation.phtml:

<ul>
    <li><a href="<?php echo $this->link; ?>"><?php echo $this->name; ?></a></li>
</ul>

然后将其添加到 module.config 中的 view_manager:

'view_manager' => array(
    'template_map' => array(
         //.....
        'navigation/view' => __DIR__ . '/../view/layout/navigation.phtml',
    ),

在您的操作(控制器)中:

$url = $this->url()->fromRoute('route-name',
                                array('controller'=>'arbeitskalender', 
                                      'action'=>'index')
                              );
$navlinks = new ViewModel(
                array(
                   'link'    => $url ,
                   'name'    => 'Arbeitskalender'
                )
);
$navlinks ->setTemplate('navigation/view');
$nav= $this->getServiceLocator()->get('Zend\View\Renderer\RendererInterface')
                                ->render($navlinks);

$viewLayout = new ViewModel(array('nav' => $nav));
return $viewLayout;

在您的布局中:

<div id="section-navigation">
   <?php echo $this->nav; ?> 
</div>

您还可以看到 Partial Helper。创建这样的部分脚本:

<?php // partial.phtml ?>
<ul>
 <li><a href="<?php echo $this->link; ?>"><?php echo $this->name; ?></a></li>
</ul>

然后使用以下代码从您的布局脚本中调用它:

<div id="section-navigation">
 <?php echo $this->partial('partial.phtml', array(
    'link' => $this->link,
    'name' => $this->name)); ?> 
</div>