| 
									
										
										
										
											2023-02-05 23:14:10 +01:00
										 |  |  | # {extends}
 | 
					
						
							| 
									
										
										
										
											2021-12-03 11:59:22 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | `{extends}` tags are used in child templates in template inheritance for | 
					
						
							|  |  |  | extending parent templates. For details see section of [Template | 
					
						
							| 
									
										
										
										
											2023-02-05 23:14:10 +01:00
										 |  |  | Inheritance](../../programmers/advanced-features/advanced-features-template-inheritance.md). | 
					
						
							| 
									
										
										
										
											2021-12-03 11:59:22 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | -   The `{extends}` tag must be on the first line of the template. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | -   If a child template extends a parent template with the `{extends}` | 
					
						
							|  |  |  |     tag it may contain only `{block}` tags. Any other template content | 
					
						
							|  |  |  |     is ignored. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-05 23:14:10 +01:00
										 |  |  | -   Use the syntax for [template resources](../../programmers/resources.md) to extend files | 
					
						
							|  |  |  |     outside the [`$template_dir`](../../programmers/api-variables/variable-template-dir.md) directory. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Attributes
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | | Attribute | Required | Description                                     | | 
					
						
							|  |  |  | |-----------|----------|-------------------------------------------------| | 
					
						
							|  |  |  | | file      | Yes      | The name of the template file which is extended | | 
					
						
							| 
									
										
										
										
											2021-12-03 11:59:22 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | > **Note**
 | 
					
						
							|  |  |  | > | 
					
						
							|  |  |  | > When extending a variable parent like `{extends file=$parent_file}`,
 | 
					
						
							|  |  |  | > make sure you include `$parent_file` in the
 | 
					
						
							| 
									
										
										
										
											2023-02-05 23:14:10 +01:00
										 |  |  | > [`$compile_id`](../../programmers/api-variables/variable-compile-id.md). Otherwise, Smarty cannot
 | 
					
						
							| 
									
										
										
										
											2021-12-03 11:59:22 +01:00
										 |  |  | > distinguish between different `$parent_file`s.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-06 10:40:00 +01:00
										 |  |  | ## Examples
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-05 23:14:10 +01:00
										 |  |  | ```smarty | 
					
						
							|  |  |  | {extends file='parent.tpl'} | 
					
						
							|  |  |  | {extends 'parent.tpl'}  {* short-hand *} | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2021-12-03 11:59:22 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-05 23:14:10 +01:00
										 |  |  | See also [Template Inheritance](../../programmers/advanced-features/advanced-features-template-inheritance.md) | 
					
						
							|  |  |  | and [`{block}`](./language-function-block.md). |