Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CI] Łączenie widoków
pawkow
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 7
Dołączył: 30.09.2006

Ostrzeżenie: (0%)
-----


kontroler home.php

  1. <?php
  2. class Home extends Controller
  3. {
  4. function index()
  5. {
  6. $content = array('news' => $this->load->view('news'));
  7. $this->load->view('main', $content);
  8. }
  9. }
  10.  
  11. ?>


widok news.php
  1. <div class="post">
  2. <a href="#">
  3. <h1>tytuł</h1></a>
  4. <p>Treść</p>
  5. <p class="post-footer align-right">
  6. <a href="index.html" class="readmore">Czytaj całość</a>
  7. <a href="index.html" class="comments">Komentarze (7)</a>
  8. <span class="date">21 XI 2007 10:25</span>
  9. </p>
  10. </div>


widok main.php
  1. (...)
  2.  
  3. <div id="main">
  4.  
  5. <?=$news;?>
  6.  
  7. </div>
  8.  
  9. (...)


przyznam, że dopiero zaczynam z CI, ale zaczyna mnie irytować.

Moje pytanie brzmi - dlaczego nie wyświetla mi się widok news.php w widoku main.php we wskazanym miejscu ? Nie ma żadnego błedu.
Go to the top of the page
+Quote Post
loonger
post
Post #2





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 19.06.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


zmień
  1. <?php
  2. $content = array('news' => $this->load->view('news'));
  3. ?>

na
  1. <?php
  2. $content = array('news' => true);
  3. ?>

oraz
  1. <?=$news;?>

na
  1. <?php if(!empty($news)) $this->load->view('news'); ?>


nie wiem czy tak jest poprawnie (zgodnie z założeniami CI) ale działać będzie. smile.gif
Go to the top of the page
+Quote Post
pawkow
post
Post #3





Grupa: Zarejestrowani
Postów: 76
Pomógł: 7
Dołączył: 30.09.2006

Ostrzeżenie: (0%)
-----


ok, działa, ale co, jeżeli newsów chcę mieć kilka smile.gif ?
Go to the top of the page
+Quote Post
Riklaunim
post
Post #4





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

Ostrzeżenie: (0%)
-----


wyświetlasz je w pętli


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
pawkow
post
Post #5





Grupa: Zarejestrowani
Postów: 76
Pomógł: 7
Dołączył: 30.09.2006

Ostrzeżenie: (0%)
-----


możesz dać jakiś przykład, bo nie bardzo wiem, ja bym bardziej wolał swoim sposobem, tzn nie mieszać za dużo kodu do widoków.
Go to the top of the page
+Quote Post
loonger
post
Post #6





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 19.06.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


tworzysz sobie tablicę z danymi newsow np:
  1. <?php
  2. $newsy[0]['tytul'] = 't1';
  3. $newsy[0]['tresc'] = 'te1';
  4. $newsy[1]['tytul'] = 't2';
  5. $newsy[1]['tresc'] = 'te2';
  6. ?>


wywolujesz widok w następujący sposób:
  1. <?php
  2. $dane["newsy"] = $newsy;
  3. $this->load->view("news",$dane);
  4. ?>


a widok news powinien wygladac nastepujaco:
  1. <?php foreach($newsy as $news): ?>
  2. Tytul: <?=$news["tytul"]; ?> <br />
  3. Tresc: <?=$news["tresc"]; ?><br />
  4. <?php endforech; ?>


generalnie to polecam user guide'a do CI, tam jest to wytlumaczone w bardzo przystepny sopsob.
pozdrawiam
http://codeigniter.com/user_guide/general/views.html -> Creating Loops

Ten post edytował loonger 22.09.2007, 15:30:35
Go to the top of the page
+Quote Post
pawkow
post
Post #7





Grupa: Zarejestrowani
Postów: 76
Pomógł: 7
Dołączył: 30.09.2006

Ostrzeżenie: (0%)
-----


ok, ale wtedy dostaje tylko widok news.php a ja chce ten widok osadzić w main.php z czym mam problem sad.gif
Go to the top of the page
+Quote Post
loonger
post
Post #8





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 19.06.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


pare postów wcześniej wytlumaczylem Ci jak to zrobic. przeczytaj jeszcze raz i spróbuj polaczyc te dwa rozwiazania.
Go to the top of the page
+Quote Post
nrm
post
Post #9





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


czytać! myśleć!

Przeciez zostało to już napisane:

widok main:
Kod
$this->load->view('naglowek');

//twoje przetwarzanie newsow

$this->load->view('stopka');


--------------------
Go to the top of the page
+Quote Post
pawkow
post
Post #10





Grupa: Zarejestrowani
Postów: 76
Pomógł: 7
Dołączył: 30.09.2006

Ostrzeżenie: (0%)
-----


dzięki wszystkim, poradziłem sobie winksmiley.jpg
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 13:35