Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 29 мар 2024, 03:00

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по представляниям.
СообщениеДобавлено: 27 авг 2012, 18:43 
Не в сети
Новичок

Зарегистрирован: 27 авг 2012, 18:41
Сообщения: 15
Недавно начал разбираться с этим фрэймворком, а точнее сейчас есть задача сделать сайт на нем.

Как известно на всех страницах сайта есть заологовок, футер и т.д. - они одинаковы для всех.

Так вот, это нормально с точки зрения MVC - если в шаблоне я просто сделаю

Код:
require_once('header.php');

....

require_once('footer.php');


Или нужно дейстововать по другому?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по представляниям.
СообщениеДобавлено: 27 авг 2012, 19:51 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
В главном представлении пишете:
Код:
<?php echo $header; ?>
<?php echo $content; ?>
<?php echo $footer; ?>


Создаете рядом с ним ещё 2 представления:
header.php
footer.php

В главном котролёре пишете:
Код:
      $this->template->header = View::factory('template/header');
      $this->template->content=  '';
      $this->template->footer = View::factory('template/footer');

...
Во всех остальных:
Код:
$this->template->content=  'бла-бла-бла';


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по представляниям.
СообщениеДобавлено: 27 авг 2012, 20:10 
Не в сети
Новичок

Зарегистрирован: 27 авг 2012, 18:41
Сообщения: 15
Во как, понял большое спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по представляниям.
СообщениеДобавлено: 27 авг 2012, 21:08 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Хоть так $this->template->content = $content;
Хоть так $this->response->body($content);

Всё зависит от задачи


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по представляниям.
СообщениеДобавлено: 28 авг 2012, 02:19 
Не в сети
Новичок

Зарегистрирован: 27 авг 2012, 18:41
Сообщения: 15
А вот например, блог пагинации я хоть могу сгенерить гдето в классе и чисто выложить его в шаблон, или опять мне надо в шаблон передавть массив для генерации блока, и только там использовать его для отображения на странице.

Теоретически это можно, но вот больше интересует вопрос правильности, корретности с точки зрения подхода?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по представляниям.
СообщениеДобавлено: 28 авг 2012, 05:41 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Например так:
Котролёр
Код:
  public function action_list()
  {
    $content = View::factory('admin/users/list')
             ->bind('pagination', $pagination)
             ->bind('users', $users);

    $user = ORM::factory('user');
    $users = NULL;
    $total = $user->count_all();;

      $pagination = Pagination::factory(array('total_items' => $total))
                  ->route_params(array(
                    'directory' => Request::current()->directory(),
                    'controller' => Request::current()->controller(),
                    'action' => Request::current()->action(),
      ));

      $users  = $user
              ->order_by('username', 'ASC')
              ->limit($pagination->items_per_page)
              ->offset($pagination->offset)
              ->find_all();
    }


Представление:
Код:
...
<?php echo $pagination ?>
...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по представляниям.
СообщениеДобавлено: 28 авг 2012, 07:39 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Hello, World
http://kohanaframework.org/3.2/guide/kohana/tutorials/hello-world


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group