Witam,
Mam pewne wątpliwości - normalnie jeśli miałbym wyświetlać wszystko w jednym miejscu ($content) używając widoku index.php było by ok, ale niestety - moja sytuacja jest inna - na głownej chce wyswietlic newsy, ostatnio dodane, polecane - czyli trzy bloki - a nie tak jak na podstronach jeden, jak byście to zrealizowali?
Ja narazie ide pierwotnym tokiem myślenia:
<?
class Main extends Controller
{
// Konstruktor klasy main
function Main()
{
parent::Controller();
$this->response = array(); Main::_news();
Main::_last();
Main::_polecamy();
}
function _last()
{
$this->load->model('Books');
$query = $this->Books->get_last_books();
$last = '';
if($query->num_rows() > 0)
{
foreach($query->result() as $row)
{
$last .= $this->load->view('last_books', $row, TRUE);
}
}
else
{
$last .= '<h1 class="ostatnio_dod">Brak ebookow</h1>';
}
// Przekazanie danych do szablonow
$this->response['last'] = $last;
}
function _news()
{
$news = '';
$this->load->model('News');
$cos = $this->News->get_news();
if($cos->num_rows() > 0)
{
// akcja podejmowana jesli newsow jest > 0
foreach($cos->result() as $row)
{
$news .= $this->load->view('news_loop', $row, TRUE);
}
$this->response['news'] = $news;
}
else
{
$news .= '<h1 class="ostatnio_dod">Brak newsow</h1>';
}
}
function _polecamy()
{
$polecamy = '';
$this->load->model('Books');
$query = $this->Books->polecamy();
foreach($query->result() as $row)
{
$polecamy .= $this->load->view('polecamy', $row, TRUE);
}
$this->response['polecamy'] = $polecamy;
}
function index()
{
$this->load->view('index', $this->response);
}
}
?>
i cos mnie nie wychodzi, bo nie wiem jak ma wyglądać kontroler np podstrony, prosze o wszelkie porady, jak wy to robicie?, czy idę wogole w dobrym kierunku?, zrodla przykladowych aplikacji itd
- z góry dziękuje za wszystko:)
Przepraszam za takie banalne pytania - dopiero raczkuje.
Widok (index.php)
<!-- content -->
<div id="content">
<div id="content-bottom">
<?
echo '<h1 class="ostatnio_dod">Ostatnio dodane</h1>'; echo '<div class="leng"></div>'; }
?>
<?
echo '<h1 class="other orange">Nowości w serwisie <span>NAZWA</span></h1>'; echo '<div class="leng"></div>'; }
?>
<?
echo '<div class="leng"></div>'; }
?>
</div>
</div>
<!-- koniec content -->
Na razie używam tej metody, macie może jakieś 'inne' pomysły?
Ten post edytował Que 1.11.2007, 12:55:42