Sato
Sato

Reputation: 8592

How does parent template pass data to child template?

So I have serverl base templates:

<template name="Base1">
  <div>basetitle1</div>
</template>

<template name="Base2">
  <div>basetitle2</div>
</template>

and the base templates is included in different templates.

<template name="Parent1">
  {{> Base1}}         # basetitle1 => Parent1.Title1
  {{> Base2}}         # basetitle2 => Parent1.Title2
</template>

<template name="Parent2">
  {{> Base1}}         # basetitle1 => Parent2.Title1
  {{> Base2}}         # basetitle2 => Parent2.Title2
</template>

basetitle1 and basetitle2 are different when in different parent templates.

So how can I pass data from parent template to child template?

Upvotes: 4

Views: 1146

Answers (1)

musically_ut
musically_ut

Reputation: 34288

You can pass data to the children template via Object creation using keyword arguments.

Try this:

<template name="Parent">
  {{> Base1 basetitle1=Title1}} # Get Title1 from a helper or data
  {{> Base2 basetitle2="Parent.Title2"}} # Pass a string
</template>

<template name="Base1">
  <div>{{basetitle1}}</div>
</template>

<template name="Base2">
  <div>{{basetitle2}}</div>
</template>

Upvotes: 2

Related Questions