Skip to content
Advertisement

OctoberCMS. How to pass variable from page to component?

I have defined a variable in a page:

{% set service = builderDetails.record  %} 

and I want to pass this variable to a component:

{% component 'Variations' service=service %} 

but this method does not work. How can I do that?

Advertisement

Answer

I am guessing that you need to pass builderDetails.record to your component 'Variations'

and then you want to access that variables inside component 'Variations'‘s default.htm and show some details about it.

for that you need to utilize component’s onRender method

inside your component 'Variations'

public function onRender()
{
     $this->page['record'] = $this->page->components['builderDetails']->record;
}

$this->page->components is holding all the components available in page as array.

builderDetails is alias of the component Record Details(Builder Plugin) which is added in to page.

now inside your default.htm

you can access record variable and use it as you desire

{{ record.name }} 

we assume here that your record has attribute name

if you need anything please comment.

User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement