# Control structure - `extends` / `section`
A nice feature of most robust templating engine is the ability to inherit from other view.
Picea follows a similar train of tought, since it's also possible create a chain of inheritance
using `extends` which have definable parts you can declare using `section`.
## Basic `extends` (string $path)
You must provide a valid `$path` from which the template will be inherited.
**[PICEA]** So, using this code:
*path/base/layout.phtml*
```html
{% section "head" %}
{{ title() }} - AnExampleApp
{% section %}
{% section "main" %}{% endsection %}
```
*path/home.phtml*
```html
{% extends "path/base/layout" %}
{% title "Home page" %}
{% section "main" %}
Welcome !
{# @TODO integrate our new blog engine below ! #}
This is our new blog ! We hope you are gonna enjoy your stay on our new platform !
{% endsection %}
```
**[HTML]** Would render as such :
```html
Home page - AnExampleApp
Welcome !
This is our new blog ! We hope you are gonna enjoy your stay on our new platform !
```
### Inherit an already extended view
We could use the previous file `path/home` and generate, let's say, the same page, but without a navigation menu.
**[PICEA]** So, using this code:
*path/home-navless.phtml*
```html
{% extends "path/home" %}
{% section "header" %}{% endsection %}
```
**[HTML]** Would render as such :
```html
Home page - AnExampleApp
Welcome !
This is our new blog ! We hope you are gonna enjoy your stay on our new platform !
```
Notice that the `` tag is now empty, since we've redeclared it in our navless view.
## Overview of `section` (string $name, array $options)
In your `$name` variable, accepted characters are alpha-numeric and those specific caracters : `.-_:`, so
names suches as :
`body.content`
`my-cool-section:heading`
`MyOtherSection`
`_another_accepted_name`
Allowed options are :
string `action` : allowed are `prepend`, `default`, `append`
int `order` : if you must
### Actions can also be passed using specials tokens :
`section.prepend` and `section.append` can also be used without passing an `action` option.
*path/home-nav.phtml*
```html
{% extends "path/home" %}
{% section "header" %}
First link here !
{% endsection %}
```
*path/home-admin-nav.phtml*
```html
{% extends "path/home-nav" %}
{% section.prepend "header" %}
My new NAV header
{% endsection %}
{% section.append "header" %}
Second link here !
{% endsection %}
```
**[HTML]** Would render as such :
```html
My new NAV header
First link here !
Second link here !
```