Css Zend Framework 2导航菜单Twitter引导集成

Css Zend Framework 2导航菜单Twitter引导集成,css,twitter-bootstrap,zend-framework2,Css,Twitter Bootstrap,Zend Framework2,我目前正在从数据库中构建一个菜单,代码非常有效。然而,我现在想用twitter引导来设计菜单,这就是我遇到的问题。有人知道将zend framework 2导航菜单与twitter引导集成的方法吗?如果有人感兴趣,生成的菜单如下所示 <ul class="nav"> <li> <a href="/view-page/home">Home</a> <ul> <li> &l

我目前正在从数据库中构建一个菜单,代码非常有效。然而,我现在想用twitter引导来设计菜单,这就是我遇到的问题。有人知道将zend framework 2导航菜单与twitter引导集成的方法吗?如果有人感兴趣,生成的菜单如下所示

<ul class="nav">
<li>
    <a href="/view-page/home">Home</a>
    <ul>
        <li>
            <a href="/view-page/coupons">Coupons</a>
            <ul>
                <li>
                    <a href="/view-page/printable-coupons">Printable Coupons</a>
                    <ul>
                        <li>
                            <a href="/view-page/cut-these-coupons">Cut these here coupons</a>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
</li>
<li class="active">
    <a href="/view-page/about-us">About Us</a>
</li>
</ul>

您可以根据需要使用partials生成导航

要在模板中显示导航,请执行以下操作:

<?php $partial = array('application/navigation/topnav.phtml', 'default') ?>
<?php $this->navigation('navigation')->menu()->setPartial($partial) ?>
<?php echo $this->navigation('navigation')->menu()->render() ?>
    <div class="nav-collapse">
      <?php 
          echo $this->navigation('navigation')
          ->menu()
          ->setMinDepth(0)
          ->setMaxDepth(0)
          ->setUlClass('nav')
          ->setPartial(array('partial/topnav.phtml', 'Application'));
      ?>
    </div>

您的导航部分应该如下所示:

应用程序/导航/topnav.phtml

   <ul class="nav">
    <?php $count = 0 ?>
    <?php foreach ($this->container as $page): ?>
        <?php /* @var $page Zend\Navigation\Page\Mvc */ ?>
        <?php // when using partials we need to manually check for ACL conditions ?>
        <?php if( ! $page->isVisible() || !$this->navigation()->accept($page)) continue; ?>
        <?php $hasChildren = $page->hasPages() ?>
        <?php if( ! $hasChildren): ?>
        <li <?php if($page->isActive()) echo 'class="active"'?>>
            <a class="nav-header" href="<?php echo $page->getHref() ?>">
                <?php echo $this->translate($page->getLabel()) ?>
            </a>
        </li>
        <?php else: ?>
        <li class="dropdown">
            <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                <span><?php echo $this->translate($page->getLabel()) ?></span>
            </a>

            <ul class="dropdown-menu" id="page_<?php echo $count ?>">
            <?php foreach($page->getPages() as $child): ?>
                <?php // when using partials we need to manually check for ACL conditions ?>
                <?php if( ! $child->isVisible() || !$this->navigation()->accept($child)) continue; ?>
                <li>
                    <a href="<?php echo $child->getHref() ?>">
                        <?php echo $this->translate($child->getLabel()) ?>
                    </a>
                </li>
            <?php endforeach ?>
            </ul>
         </li>   
        <?php endif ?>
        <?php $count++ ?>
    <?php endforeach ?>
</ul>
<div class="navbar navbar-inverse navbar-fixed-bottom">
  <div class="navbar-inner">
    <div class="container">
      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>
      <ul class="nav" id="menu">    
        <?php $count = 0; ?>
        <?php foreach ($this->container as $page): ?>
            <?php //var_dump($page); exit;?>
            <?php /* @var $page Zend\Navigation\Page\Mvc */ ?>
            <?php // when using partials we need to manually check for ACL conditions ?>
            <?php if( ! $page->isVisible() || !$this->navigation()->accept($page)) continue; ?>
            <?php $hasChildren = $page->hasPages() ?>
            <?php if( ! $hasChildren): ?>
          <li>
                <a class="nav-header" href="<?php echo $page->getHref() ?>">
                  <?php echo $this->translate($page->getLabel()) ?>
                </a>
          </li>
            <?php else: ?>
                <a class="dropdown-toggle" data-toggle="dropdown" href="#page_<?php echo $count; ?>">
                    <span><?php echo $this->translate($page->getLabel()) ?></span>
                </a>
                <ul class="dropdown-menu" id="page_<?php echo $count; ?>">
                <?php foreach($page->getPages() as $child): ?>
                    <?php // when using partials we need to manually check for ACL conditions ?>
                    <?php if( ! $child->isVisible() || !$this->navigation()->accept($child)) continue; ?>
                    <li>
                        <a href="<?php echo $child->getHref() ?>">
                            <?php echo $this->translate($child->getLabel()) ?>
                        </a>
                    </li>
                <?php endforeach ?>
                </ul>
            <?php endif ?>
            <?php $count++; ?>
        <?php endforeach ?>
      </ul>
        <form class="navbar-search pull-right" action="">
          <input type="text" class="search-query span2" placeholder="Search">
        </form>
      </div><!-- /.nav-collapse -->
    </div><!-- /.container -->
  </div><!-- /.navbar-inner -->
</div><!-- /.navbar -->
    >
  • 试试下面的代码; 您的导航部分应该如下所示:

    应用程序/partial/topnav.phtml

       <ul class="nav">
        <?php $count = 0 ?>
        <?php foreach ($this->container as $page): ?>
            <?php /* @var $page Zend\Navigation\Page\Mvc */ ?>
            <?php // when using partials we need to manually check for ACL conditions ?>
            <?php if( ! $page->isVisible() || !$this->navigation()->accept($page)) continue; ?>
            <?php $hasChildren = $page->hasPages() ?>
            <?php if( ! $hasChildren): ?>
            <li <?php if($page->isActive()) echo 'class="active"'?>>
                <a class="nav-header" href="<?php echo $page->getHref() ?>">
                    <?php echo $this->translate($page->getLabel()) ?>
                </a>
            </li>
            <?php else: ?>
            <li class="dropdown">
                <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                    <span><?php echo $this->translate($page->getLabel()) ?></span>
                </a>
    
                <ul class="dropdown-menu" id="page_<?php echo $count ?>">
                <?php foreach($page->getPages() as $child): ?>
                    <?php // when using partials we need to manually check for ACL conditions ?>
                    <?php if( ! $child->isVisible() || !$this->navigation()->accept($child)) continue; ?>
                    <li>
                        <a href="<?php echo $child->getHref() ?>">
                            <?php echo $this->translate($child->getLabel()) ?>
                        </a>
                    </li>
                <?php endforeach ?>
                </ul>
             </li>   
            <?php endif ?>
            <?php $count++ ?>
        <?php endforeach ?>
    </ul>
    
    <div class="navbar navbar-inverse navbar-fixed-bottom">
      <div class="navbar-inner">
        <div class="container">
          <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </a>
          <ul class="nav" id="menu">    
            <?php $count = 0; ?>
            <?php foreach ($this->container as $page): ?>
                <?php //var_dump($page); exit;?>
                <?php /* @var $page Zend\Navigation\Page\Mvc */ ?>
                <?php // when using partials we need to manually check for ACL conditions ?>
                <?php if( ! $page->isVisible() || !$this->navigation()->accept($page)) continue; ?>
                <?php $hasChildren = $page->hasPages() ?>
                <?php if( ! $hasChildren): ?>
              <li>
                    <a class="nav-header" href="<?php echo $page->getHref() ?>">
                      <?php echo $this->translate($page->getLabel()) ?>
                    </a>
              </li>
                <?php else: ?>
                    <a class="dropdown-toggle" data-toggle="dropdown" href="#page_<?php echo $count; ?>">
                        <span><?php echo $this->translate($page->getLabel()) ?></span>
                    </a>
                    <ul class="dropdown-menu" id="page_<?php echo $count; ?>">
                    <?php foreach($page->getPages() as $child): ?>
                        <?php // when using partials we need to manually check for ACL conditions ?>
                        <?php if( ! $child->isVisible() || !$this->navigation()->accept($child)) continue; ?>
                        <li>
                            <a href="<?php echo $child->getHref() ?>">
                                <?php echo $this->translate($child->getLabel()) ?>
                            </a>
                        </li>
                    <?php endforeach ?>
                    </ul>
                <?php endif ?>
                <?php $count++; ?>
            <?php endforeach ?>
          </ul>
            <form class="navbar-search pull-right" action="">
              <input type="text" class="search-query span2" placeholder="Search">
            </form>
          </div><!-- /.nav-collapse -->
        </div><!-- /.container -->
      </div><!-- /.navbar-inner -->
    </div><!-- /.navbar -->
    
    
    

  • 对于新的引导3,将其用作局部视图

    <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="<?php echo $this->url('home') ?>"><img src="<?php echo $this->basePath('img/logo.png') ?>" alt="Title App"/>&nbsp;TitleText</a>
        </div>
        <div class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
            <?php foreach ($this->container as $page) { ?>
                <?php /* @var $page Zend\Navigation\Page\Mvc */ ?>
                <?php // when using partials we need to manually check for ACL conditions ?>
                <?php if (!$page->isVisible() || !$this->navigation()->accept($page)) { continue; } ?>
                <?php $hasChildren = $page->hasPages(); ?>
                <?php if (!$hasChildren) { ?>
                    <li>
                        <a href="<?php echo $page->getHref() ?>">
                            <?php echo $this->translate($page->getLabel()) ?>
                        </a>
                    </li>
                <?php } else { ?>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><?php echo $this->translate($page->getLabel()) ?> <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <?php foreach ($page->getPages() as $child) { ?>
                            <?php // when using partials we need to manually check for ACL conditions ?>
                            <?php if(!$child->isVisible() || !$this->navigation()->accept($child)) { continue; } ?>
                            <li>
                                <a href="<?php echo $child->getHref() ?>">
                                    <?php echo $this->translate($child->getLabel()) ?>
                                </a>
                            </li>
                        <?php } ?>
                    </ul>
                </li>
                <?php } ?>
            <?php } ?>
        </ul>
        </div>
    </div>
    </nav>
    
    
    

    要将外观与zend导航条集成,请更改以下内容:

    为此:


    非常感谢安德鲁!我现在就试试看!我开始使用partials,我承认我不能完全理解发生了什么。谢谢你的解释:-)!我在下面为bootstrap 3添加了一个版本。末尾缺少一个结尾。Thanks@ArslanAfzal,谢谢-它在那里,但没有缩进,因此在代码中不可见。刚刚修好了。谢谢截至2015年,这应该是一个公认的答案。将此部分另存为“YourProject/module/Application/view/partial/navbar.phtml”,并使用