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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Контроллер Шаблонов
СообщениеДобавлено: 12 фев 2012, 21:39 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Работаем с контроллером шаблонов

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контроллер Шаблонов
СообщениеДобавлено: 03 сен 2012, 11:47 
Не в сети
Новичок

Зарегистрирован: 03 сен 2012, 11:38
Сообщения: 11
Здравствуйте!

Я вот только начал изучать этот фреймворк, и у меня возникла вот такая ошибка:

Код:
ErrorException [ Warning ]: Attempt to assign property of non-object

APPPATH/classes/controller/welcome.php [ 17 ]

12         // Передаем данные в шаблон welcome.php
13         $content->age = 'больше 18';
14         $content->name = 'Васька';
15 
16         // Передаем данные в шаблон по умолчанию - main.php
17         $this->template->title = 'Работаем с Контроллером Шаблонов';
18         $this->template->description = 'Учимся передавать данные в шаблоны';
19         $this->template->content = $content;
20    }
21
22 } // End Welcome

Вот код контроллера:
Код:
class Controller_Welcome extends Controller {

    public $template = 'main';
   
   public function action_index()
   {
      $content = View::factory('welcome');
 
        // Передаем данные в шаблон welcome.php
        $content->age = 'больше 18';
        $content->name = 'Васька';
 
        // Передаем данные в шаблон по умолчанию - main.php
        $this->template->title = 'Работаем с Контроллером Шаблонов';
        $this->template->description = 'Учимся передавать данные в шаблоны';
        $this->template->content = $content;
   }

} // End Welcome

Сам темплейт main.php лежит в application / views

Где я допустил ошибку? Вроде все по уроку делал, да и логика понятна :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контроллер Шаблонов
СообщениеДобавлено: 03 сен 2012, 11:58 
Не в сети
Бывалый

Зарегистрирован: 29 авг 2012, 16:09
Сообщения: 46
Serg писал(а):
Здравствуйте!

Я вот только начал изучать этот фреймворк, и у меня возникла вот такая ошибка:

Код:
ErrorException [ Warning ]: Attempt to assign property of non-object

APPPATH/classes/controller/welcome.php [ 17 ]

12         // Передаем данные в шаблон welcome.php
13         $content->age = 'больше 18';
14         $content->name = 'Васька';
15 
16         // Передаем данные в шаблон по умолчанию - main.php
17         $this->template->title = 'Работаем с Контроллером Шаблонов';
18         $this->template->description = 'Учимся передавать данные в шаблоны';
19         $this->template->content = $content;
20    }
21
22 } // End Welcome

Вот код контроллера:
Код:
class Controller_Welcome extends Controller {

    public $template = 'main';
   
   public function action_index()
   {
      $content = View::factory('welcome');
 
        // Передаем данные в шаблон welcome.php
        $content->age = 'больше 18';
        $content->name = 'Васька';
 
        // Передаем данные в шаблон по умолчанию - main.php
        $this->template->title = 'Работаем с Контроллером Шаблонов';
        $this->template->description = 'Учимся передавать данные в шаблоны';
        $this->template->content = $content;
   }

} // End Welcome

Сам темплейт main.php лежит в application / views

Где я допустил ошибку? Вроде все по уроку делал, да и логика понятна :)


Ну дык $this->template у вас строка, а не объект. Унаследуйте контроллер от Controller_Template, там помоему создается $this->template = View::factory($this->template);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контроллер Шаблонов
СообщениеДобавлено: 03 сен 2012, 14:00 
Не в сети
Новичок

Зарегистрирован: 03 сен 2012, 11:38
Сообщения: 11
Да точно, ошибся с наследованием. Вот изменил немного код:
Код:
$this->template = View::factory($this->template)
          ->bind('content', $content);
      $content = 'Test';
 
        $this->template->content = $this->template;

не совсем уверен в последней строке...
Сейчас у меня просто отображается белая страница (без html который в темплейте), пробовал писать ...factory('main'). но не чего не изменилось.
...приеду дамой попробую разобраться с этим


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контроллер Шаблонов
СообщениеДобавлено: 03 сен 2012, 14:29 
Не в сети
Бывалый

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
последняя строка, а данном случае вообще не нужна.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контроллер Шаблонов
СообщениеДобавлено: 03 сен 2012, 15:40 
Не в сети
Новичок

Зарегистрирован: 03 сен 2012, 11:38
Сообщения: 11
Всем спасибо, разобрался :)
Код:
class Controller_Welcome extends Controller_Template {

    public $template = 'main';
   
   public function action_index()
   {
      $this->template = View::factory('main')
         ->bind('title', $title)
         ->bind('description', $description)
         ->bind('date', $date);      
      $title = 'Работаем с Контроллером Шаблонов';
      $description = 'Учимся передавать данные в шаблоны';
      $date = 'Test';
      
   }

} // End Welcome


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

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


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

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


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

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