mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-25 19:20:29 +08:00
Merge pull request #6477 from larnu/spanish_docs
Spanish docs Theming [skip ci]
This commit is contained in:
@@ -106,7 +106,7 @@ Visualizar datos
|
|||||||
* **TBD** [Proveedores de datos](output-data-providers.md)
|
* **TBD** [Proveedores de datos](output-data-providers.md)
|
||||||
* **TBD** [Widgets de datos](output-data-widgets.md)
|
* **TBD** [Widgets de datos](output-data-widgets.md)
|
||||||
* **TBD** [Trabajar con scripts de cliente](output-client-scripts.md)
|
* **TBD** [Trabajar con scripts de cliente](output-client-scripts.md)
|
||||||
* **TBD** [Utilización de temas](output-theming.md)
|
* [Temas](output-theming.md)
|
||||||
|
|
||||||
|
|
||||||
Seguridad
|
Seguridad
|
||||||
|
|||||||
99
docs/guide-es/output-theming.md
Normal file
99
docs/guide-es/output-theming.md
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
Temas
|
||||||
|
=====
|
||||||
|
|
||||||
|
> Nota: Esta sección está en desarrollo.
|
||||||
|
|
||||||
|
Un tema (theme) es un directorio de archivos y de vistas (views) y layouts. Cada archivo de este directorio
|
||||||
|
sobrescribe el archivo correspondiente de una aplicación cuando se renderiza. Una única aplicación puede usar
|
||||||
|
múltiples temas para que pueden proporcionar experiencias totalmente diferentes. Solo se puede haber un único tema
|
||||||
|
activo.
|
||||||
|
|
||||||
|
> Nota: Los temas no están destinados a ser redistribuidos ya que están demasiado ligados a la aplicación. Si se
|
||||||
|
quiere redistribuir una apariencia personalizada, se puede considerar la opción de
|
||||||
|
[asset bundles](structure-assets.md) de archivos CSS y Javascript.
|
||||||
|
|
||||||
|
Configuración de un Tema
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
La configuración de un tema se especifica a través del componente `view` de la aplicación. Para establecer que un tema
|
||||||
|
trabaje con vistas de aplicación básicas, la configuración de la aplicación debe contener lo siguiente:
|
||||||
|
|
||||||
|
```php
|
||||||
|
'components' => [
|
||||||
|
'view' => [
|
||||||
|
'theme' => [
|
||||||
|
'pathMap' => ['@app/views' => '@app/themes/basic'],
|
||||||
|
'baseUrl' => '@web/themes/basic',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
```
|
||||||
|
|
||||||
|
En el ejemplo anterior, el `pathMap` define un mapa (map) de las rutas a las que se aplicará el tema mientras que
|
||||||
|
`baseUrl` define la URL base para los recursos a los que hacen referencia los archivos del tema.
|
||||||
|
|
||||||
|
En nuestro caso `pathMap` es `['@app/views' => '@app/themes/basic']`. Esto significa que cada vista de `@app/views`
|
||||||
|
primero se buscará en `@app/themes/basic` y si existe, se usará la vista del directorio del tema en lugar de la vista
|
||||||
|
original.
|
||||||
|
|
||||||
|
Por ejemplo, con la configuración anterior, la versión del tema para la vista `@app/views/site/index.php` será
|
||||||
|
`@app/themes/basic/site/index.php`. Básicamente se reemplaza `@app/views` en `@app/views/site/index.php` por
|
||||||
|
`@app/themes/basic`.
|
||||||
|
|
||||||
|
### Temas para Módulos
|
||||||
|
|
||||||
|
Para utilizar temas en los módulos, el `pathMap` debe ser similar al siguiente:
|
||||||
|
|
||||||
|
```php
|
||||||
|
'components' => [
|
||||||
|
'view' => [
|
||||||
|
'theme' => [
|
||||||
|
'pathMap' => [
|
||||||
|
'@app/views' => '@app/themes/basic',
|
||||||
|
'@app/modules' => '@app/themes/basic/modules', // <-- !!!
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
```
|
||||||
|
|
||||||
|
Esto permite aplicar el tema a `@app/modules/blog/views/comment/index.php` con la vista
|
||||||
|
`@app/themes/basic/modules/blog/views/comment/index.php`.
|
||||||
|
|
||||||
|
### Temas para Widgets
|
||||||
|
|
||||||
|
Para utilizar un tema en una vista que se encuentre en `@app/widgets/currency/views/index.php`, se debe aplicar la
|
||||||
|
siguiente configuración para el componente vista, tema:
|
||||||
|
|
||||||
|
```php
|
||||||
|
'components' => [
|
||||||
|
'view' => [
|
||||||
|
'theme' => [
|
||||||
|
'pathMap' => ['@app/widgets' => '@app/themes/basic/widgets'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
```
|
||||||
|
|
||||||
|
Con la configuración anterior, se puede crear una versión de la vista `@app/widgets/currency/index.php` para que se
|
||||||
|
aplique el tema en `@app/themes/basic/widgets/currency/index.php`.
|
||||||
|
|
||||||
|
Uso de Multiples Rutas
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Es posible mapear una única ruta a múltiples rutas de temas. Por ejemplo:
|
||||||
|
|
||||||
|
```php
|
||||||
|
'pathMap' => [
|
||||||
|
'@app/views' => [
|
||||||
|
'@app/themes/christmas',
|
||||||
|
'@app/themes/basic',
|
||||||
|
],
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
En este caso, primero se buscara la vista en `@app/themes/christmas/site/index.php`, si no se encuentra, se intentará
|
||||||
|
en `@app/themes/basic/site/index.php`. Si la vista no se encuentra en ninguna de rutas especificadas, se usará la
|
||||||
|
vista de aplicación.
|
||||||
|
|
||||||
|
Esta capacidad es especialmente útil si se quieren sobrescribir algunas rutas temporal o condicionalmente.
|
||||||
Reference in New Issue
Block a user