alex
alex

Reputation: 490263

Can a View in Kohana access its parent View's variables?

This applies to Kohana 2.3.2

I've recently started making my Views more dynamic. Using the default template view as a base, now I am doing in the controller

$this->template->innerView = new View('article');

Then, in the middle of my template.php, I have

<?php echo $innerView; ?>

To echo the 'guts' of the article view between my header and footer. This works fine, except all the vars I defined to$this->template are inaccessible from the new view. I know I could probably do

$this->template->innerView->title = 'My Title';

But if there was a way to make child Views inherit their parent's variables, that would be great.

Is there?

Upvotes: 0

Views: 2842

Answers (2)

alex
alex

Reputation: 490263

http://docs.kohanaphp.com/core/view#set_global

I needed this because I use the page title in the normal template (for within <title></title>) and also as the <h2></h2> of the page.

It's as simple as this

$this->template->innerView = new View('article');
$this->template->set_global('title', 'My Title');

Upvotes: -1

Michael Noga
Michael Noga

Reputation:

The set_global() method only sets the variable to be global across all views. It's not what you think when you hear "Global" in PHP so you got it right, this is exactly what you should use when you want to make a variable available across multiple views.

Upvotes: 4

Related Questions