58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| Overriding Views
 | |
| ================
 | |
| 
 | |
| In case you need to override the default views (that you surely have to do if you use a different them than default's 
 | |
| Bootstrap), Yii2 provides a mechanism that is really easy to do: 
 | |
|  
 | |
| ```php
 | |
| 
 | |
| // ... other configuration here
 | |
| 
 | |
| 'components' => [
 | |
|     'view' => [
 | |
|         'theme' => [
 | |
|             'pathMap' => [
 | |
|                 '@Da/User/resources/views' => '@app/views/user'
 | |
|             ]
 | |
|         ]
 | |
|     ]
 | |
| ]
 | |
| 
 | |
| // ...
 | |
| ```
 | |
| 
 | |
| The above code tells Yii2 to search on `@app/view/user` for views prior to go to `@Da/User/resources/views`. That is, 
 | |
| if a view is found on `@app/view/user` that matches the required render it will be displayed instead of the one on 
 | |
| `@Da/User/resources/views`.
 | |
| 
 | |
| You need to remember that the folder structure on your new location must match that of the module. For example, if we 
 | |
| wish to override the `login.php` view using the above setting, we would have to create the following structure on our 
 | |
| path: 
 | |
| 
 | |
| ```
 | |
| app  [ Your root ]
 | |
| |
 | |
| └─ views
 | |
|     └─ user
 | |
|         └─ security
 | |
|              login.php
 | |
| ```
 | |
| 
 | |
| See how it follows the same structure as within the User's module `resources/views` path? Well, that's what you should 
 | |
| do with any of the others in order to override them.
 | |
| 
 | |
| There is another way, and is by setting the `viewPath` attribute of the module: 
 | |
| 
 | |
| ```php
 | |
| 'modules' => [
 | |
|     'user' => [
 | |
|         'class' => Da\User\Module::class,
 | |
|         'viewPath' => '@app/views/user'
 | |
|     ],
 | |
| ],
 | |
| ```
 | |
| But it will force you to override **ALL** views from the module. The recommended way is throughout the `theme` property 
 | |
| of `view` component as previously mentioned.
 | |
| 
 | |
| © [2amigos](http://www.2amigos.us/) 2013-2017
 |