J'ai un problème avec la transmission de variables à travers des vues. Mais, d'abord un codeKohana - Vues dans les vues
// i enter the url http://localhost/my_projects/blog/index/index
// classes/controller/index.php
class Controller_Index extends Controller
{
protected $rendered_view;
public function before()
{
$this->rendered_view = View::factory('index')
->set('head', View::factory('subpages/head')
->set('title', 'Site title')
)
->set('nav', View::factory('subpages/nav')
->set('title', 'Site title')
)
->set('header', View::factory('subpages/header')
->set('h1', 'Header H1')
)
->set('sidebar', View::factory('subpages/sidebar')
->set('h1', 'Header H1')
)
->set('content', View::factory('subpages/content')
->set('h2', 'Header H2')
->set('content', 'some content')
)
->set('footer', View::factory('subpages/footer')
->set('footer', 'some footer')
);
}
public function action_index()
{
$this->response->body($this->rendered_view);
}
}
Et dans l'index de vue i passer des variables à la vue par défaut:
// views/index.php
echo View::factory('default')->set('head', $head);
echo View::factory('default')->set('nav', $nav);
echo View::factory('default')->set('header', $header);
echo View::factory('default')->set('sidebar', $sidebar);
echo View::factory('default')->set('content', $content);
echo View::factory('default')->set('footer', $footer);
Et j'essayer en mode affichage i essayer des variables "echo":
// views/default.php
echo $head;
echo $nav;
echo $header;
echo $sidebar;
echo $content;
echo $footer;
Et il erreur de renvoi:
ErrorException [ 2 ]: file_put_contents(/some_path/application/logs/2011/02/23.php): failed to open stream: Permission denied ~ SYSPATH/classes/kohana/log/file.php [ 81 ]
Si j'écris quelque chose comme ça:
// views/default.php
include Kohana::find_file('views', 'default');
l'affichage est valide;
Juste une note - votre code 'de before' doit être déplacé' action_index() 'et' action_index() 'à' après() '. Et n'oubliez pas les appels 'parent :: before()'/'parent :: after()'! – biakaveron
Mais je voulais définir des valeurs par défaut pour les vues et si cela devrait être changé dans d'autres méthodes, alors il sera changé et je n'ai pas besoin de définir d'autres valeurs qui seront les mêmes pour diverses méthodes. – PaulP