dpqaaczn141761 2018-01-10 05:39
浏览 128
已采纳

OctoberCMS。 如何将变量从页面传递到组件?

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?

  • 写回答

2条回答 默认 最新

  • dongwoqin7034 2018-01-10 07:51
    关注

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?