cakephp: как включить одну и ту же панель навигации в 2 разных файла макета - PullRequest
0 голосов
/ 10 августа 2011

Как включить одну и ту же панель навигации в 2 разных файла макета? Я не хочу, чтобы штрих-код навигации повторялся в 2 файлах макетов.

Ниже приведен мой штрих-код для навигации:

  <?php
  echo $this->Html->css('nav_bar.css');
?>
<script language="javascript" type="text/javascript">
    sfHover = function() {
        var sfEls = document.getElementById("navbar").getElementsByTagName("li");
        for (var i=0; i<sfEls.length; i++) {
            sfEls[i].onmouseover=function() {
                this.className+=" hover";
            }
            sfEls[i].onmouseout=function() {
                this.className=this.className.replace(new RegExp(" hover\\b"), "");
            }
        }
    }
    if (window.attachEvent) window.attachEvent("onload", sfHover); 
</script>
  <div id="menu">
    <ul id="nav">
    <li><?php echo $this->Html->link('Home', '/pages/home', array()); ?></li>
        <li><?php echo $this->Html->link('Our Program', '#', array()); ?><ul>
        <li><?php echo $this->Html->link('Preschool', '/pages/preschool', 
                        array()); ?></li>
        <li><?php echo $this->Html->link('Kindergarten', '/pages/kindergarten', array()); ?></li>
        <li><?php echo $this->Html->link('Summer Camp', '/pages/summer_camp', array()); ?></li>
        </ul>
        </li>
        <li><?php echo $this->Html->link('About Us','#', array()); ?><ul>
        <li><?php echo $this->Html->link('Merry Flowers', '/pages/about_us', array()); ?></li>
        <li><?php echo $this->Html->link('Tour Our School','/pages/tour_our_school', array()); ?></li>
        <li><?php echo $this->Html->link('Contact Us', '/pages/contact_us', array()); ?></li>
        </ul>
        </li>

        <li><?php echo $this->Html->link('Events','#', array()); ?><ul>
        <li><?php  echo $this->Html->link('News & Events', '#', array()); ?>
            <ul>
                <li><?php echo $this->Html->link('Sports Day','/pages/sports_day',array()); ?></li>
            </ul>
        </li>

        <li><?php  echo $this->Html->link('List of Holidays', '/pages/list_of_holidays', array()); ?></li>
        </ul>
        </li>
        <li><a href="#">FAQ</a><ul>
        <li><?php  echo $this->Html->link('FAQ', '/pages/faq', array()); ?></li>
        <li><?php  echo $this->Html->link('Feedback', '/feedbacks/add', array()); ?></li>
        <li><?php  echo $this->Html->link('Discussion', '/pages/discussion', array()); ?></li>
        </ul>
        </li>
        <li><a href="#">Admissions</a><ul>
        <li><?php echo $this->Html->link('Enroll Now','/students/add', array()); ?></li>
        </ul>
        </li>
    </ul><!--finish ul nav-->
    </div> <!--finish div menu-->

спасибо.

Ответы [ 2 ]

1 голос
/ 10 августа 2011

создайте файл с именем navbar.ctp в /views/elements/ в вашем макете, вам нужно будет включить элемент, используя метод представлений element():

<?php echo $this->element('navbar'); ?> // you can pass an array of variables as a second parameter

для получения дополнительной информации прочитайте документ

0 голосов
/ 10 августа 2011

использование элемент

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...