codeigniter: загрузка нескольких просмотров - PullRequest
0 голосов
/ 08 января 2012

Я хочу назначить переменную $ layout_data ['navigation'] = $ this-> load ('layout / navigation'). Навигация - это просто список.когда я передаю эту переменную в мой макет, список появляется сверху.

вот мои коды:

htaccess

RewriteEngine On
RewriteBase /ci/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /ci/index.php/$1 [L]

контроллер home

<?php
    class Home extends CI_Controller{
        function index() {

            $layout_data['navigation']=$this->load->view('navigation');
            $this->load->view('layout/main',$layout_data);
        }//end of index
    }//end of class
    ?>

макет / навигация (его вид)

  <li><a href="#"><span>About Us</span></a></li>
    <li><a href="#"><span>Objective</span></a></li>

макет / основной (это мой макет)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Rainbow Handicraft-giving training and employment oppurtunities to women |in association with Rainbow Children Home</title>
<link href="<?php echo $this->config->base_url('assets/css/css/style.css'); ?>" type="text/css" rel="stylesheet" media="all"/>
</head>

<body>
<div id="top_header">
    In association with Rainbow Children Home Nepals
</div>
<!-- end of top header-->
<div id="container">

        <div id="header">

                <div id="left_logo">
                </div>

                 <div id="logo">
                            <h1>Rainbow Handicraft Nepal</h1>   
                             <h2>Lakeside Pokhara 06 Nepal</h2>
                            <h3>Email- rhn@gmail.com</h3>
                 </div>


                <div id="right_logo">
                </div>

                <div id="right_logo2">
                </div>

                <div id="right_logo3">
                </div>
        </div>   

<!--end of header-->

        <div id="wrapper">

                <div id="menu">



   <div id="tabs">

<ul>
    <li></li>
<?php  echo $content_navigation;?>

      </ul>
      </div>







                </div><!--end of menu-->

                <div id="main_content">
                <div id="leftbar">
                        <div id="left_content">

                        <p class="title">mytitle</p>
 <p class="mycontent">                       

mycontent
</p>
</div><!--end of left content-->
<div id="left_content">

<p class="title">asdfasdf</p>
 <p class="mycontent">                       
sadfsadfasdf</p>
                        </div><!--end of left content-->
                        </div><!--end of left bar-->
                    <div id="rightbar">
                    <div id="right_content">
                    <div>
                      <p class="title">This is the title</p>
                   <p class="mycontent"> mycontent
                   </p>
                    </div>

                    </div><!--end of right content-->





                    <div id="right_content">
                    <div>
                      <p class="title">This is the title</p>
                   <p class="mycontent"> this is right content
                   </p>
                    </div>

                    </div><!--end of right content-->

                    </div><!--end of right bar-->






        </div><!--end of wrapper-->


     <div class="push"></div>
 </div><!--end of container-->
         <div id="footer">

                <div id="footer_main">
               Rainbow Handicraft Nepal</br>
              Po Box 210,Dihikopatan, Lakeside ,Pokhara-6,Nepal</br>
               © Copyrights 2010 All rights Reserved. </br>Designed by: <span class="sagaritabd"><i><b>sagaritabd</b></i></span>
                </div>
         </div><!--end of footer-->


</body>
</html>


when i see source of output file i see the problem but cant fix it

 <li><a href="#"><span>About Us</span></a></li>

    <li><a href="#"><span>Objective</span></a></li>

    <li><a href="#"><span>Items</span></a></li>

    <li><a href="#"><span>Contact</span></a></li><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Rainbow Handicraft-giving training and employment oppurtunities to women |in association with Rainbow Children Home</title>

<link href="http://localhost/ci/assets/css/css/style.css" type="text/css" rel="stylesheet" media="all"/>

</head>



<body>

<div id="top_header">

    In association with Rainbow Children Home Nepals

</div>

<!-- end of top header-->

<div id="container">



        <div id="header">



                <div id="left_logo">

                </div>


......

please help

Ответы [ 2 ]

4 голосов
/ 08 января 2012

Эта строка:

$layout_data['navigation'] = $this->load->view('layout/navigation');

... выведет представление немедленно.Вам нужно установить третий параметр на TRUE:

$layout_data['navigation'] = $this->load->view('layout/navigation', NULL, TRUE);

Второй параметр - это ваш массив данных, если он вам нужен.Вы можете передать пустую строку или NULL, если вам это не нужно.

Это здесь, в руководстве пользователя, полностью внизу:

Возврат представлений в виде данных

Существует третий необязательный параметр, позволяющий изменить поведение функции, чтобы она возвращала данные в виде строки, а не отправляла ихв ваш браузер.Это может быть полезно, если вы хотите обработать данные каким-либо образом.Если вы установите для параметра значение true (логическое значение), он вернет данные.Поведение по умолчанию - false, что отправляет его в ваш браузер.Не забудьте назначить его переменной, если вы хотите, чтобы данные возвращались:

0 голосов
/ 08 января 2012

В качестве дополнения вы можете добавить часть этой логики в MY_Controller. Я предполагаю, что вы будете загружать навигацию на каждой странице, поэтому загрузите логику как часть конструктора в MY_Controller, а затем расширьте этот класс и убедитесь, что существует защищенная переменная, такая как $ data [], которая также существует. Таким образом, вы можете обеспечить согласованное именование навигационных данных и убедиться, что они всегда передаются.

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