La definición de un tema se realiza mediante un archivo .info.yml.
Para crear un tema en Drupal 8, primero debe crear un archivo THEMENAME.info.yml que proporcione metadatos sobre su tema a Drupal. Esto es similar a cómo se definen los módulos y los perfiles de instalación, por lo que es importante establecer la clave "type" en el archivo file.info.yml como "theme" para distinguirlo.
Esta página contiene un ejemplo de archivo THEMENAME.info.yml y una visión general de la información que puede contener el archivo.
Crear el archivo .info.yml
Cree el archivo .info.yml en la raíz de la carpeta de su tema. La carpeta debe tener el mismo nombre que el archivo .info.yml. Por lo tanto, si su tema se llama "Fluffiness", la carpeta será "fluffiness/" y el archivo .info.yml será "fluffiness/fluffiness.info.yml". Si el archivo está presente con las propiedades mínimas necesarias (nombre, tipo y core), su tema aparecerá en su sitio web en la sección "Apariencia" (http://example.com/admin/appearance). No olvide elegir un nombre de tema que no esté ya en uso por un módulo u otro tema. El nombre del tema debe ser único dentro de la configuración de Drupal. De lo contrario, los componentes del tema no se cargarán correctamente.
Reemplace los espacios en el nombre del tema por guiones bajos en el nombre de la carpeta (y del archivo .info.yml).
Si no está familiarizado con la estructura de archivos YAML, lea la introducción rápida al formato de archivos YAML.
- No se permiten tabulaciones. Use SOLO espacios.
- Las propiedades y listas DEBEN tener una sangría de dos (2) espacios.
Ejemplo
name: Fluffiness type: theme description: 'Un tema adorable que ofrece más ternura.' core: 8.x libraries: - fluffiness/global-styling base theme: classy regions: header: Header content: Content sidebar_first: 'Sidebar first' footer: Footer
En su sitio Drupal, puede encontrar más ejemplos de archivos .info.yml mirando los temas provistos por el núcleo. Por ejemplo, abra la carpeta core/themes/stark y busque el archivo stark.info.yml.
Pares clave/valor
Los siguientes pares clave/valor proporcionan metadatos sobre su tema y definen algunas características básicas. (Vea \Drupal\Core\Extension\InfoParserInterface::parse().)
- name (obligatorio)
- type (obligatorio)
- description (opcional)
- package (opcional)
- core (obligatorio)
- php (opcional)
- version (opcional)
- libraries (opcional)
- libraries-override (opcional)
- libraries-extend (opcional)
- base theme (recomendado)
- hidden (opcional)
- engine (opcional)
- logo (opcional)
- screenshot (opcional)
- regions (opcional)
- regions_hidden (opcional)
- features (opcional)
- stylesheets-remove (no recomendado)
- ckeditor_stylesheets (opcional)
name - nombre (obligatorio)
Nombre legible por humanos. Aparecerá en la página de "Apariencia" donde se habilita el tema.
name: Fluffiness
type - tipo (obligatorio)
Indica el tipo de extensión, es decir, "module", "theme" o "profile". Para temas siempre debe ser "theme". Este valor es sensible a mayúsculas y minúsculas.
type: theme
description - descripción (opcional)
Descripción que se muestra en la página "Apariencia".
description: Un tema adicional adorable para Drupal disponible en gris y azul.
package - paquete (opcional)
Define un "paquete" que permite agrupar temas juntos.
package: Core
core (obligatorio)
Define la versión del núcleo de Drupal con la que el tema es compatible.
core: 8.x
php (opcional)
Versión mínima requerida de PHP. Por defecto, utiliza el valor de la constante DRUPAL_MINIMUM_PHP.
php: 5.5.9
version - versión (opcional)
Define la versión. Para temas alojados en drupal.org, el número de versión es rellenado por el script de empaquetado. No la escriba manualmente, pero excluya la línea por completo.
version: 8.x-1.0
libraries - bibliotecas (opcional)
Lista de bibliotecas (que pueden contener recursos CSS y JavaScript) para agregar a todas las páginas donde el tema está activo. Más información sobre temas y bibliotecas de recursos.
libraries: - fluffiness/global-styling
libraries-override - sobreescritura de bibliotecas (opcional)
Conjunto de bibliotecas y recursos para sobreescribir. Lea más sobre bibliotecas que sobrescriben y extienden.
libraries-override: contextual/drupal.contextual-links: css: component: /core/themes/stable/css/contextual/contextual.module.css: false
libraries-extend - extensión de bibliotecas (opcional)
Conjunto de bibliotecas y recursos que se agregan al conectar una biblioteca. Lea más sobre bibliotecas que sobrescriben y extienden.
libraries-extend: core/drupal.user: - classy/user1 - classy/user2
base theme - tema base (recomendado)
Un tema puede heredar recursos de otro tema, indicándolo como tema base. Se recomienda usar classy o stable (stable es el predeterminado si no se especifica la clave), ya que facilita que su tema herede futuros cambios en el tema base.
base theme: classy
hidden (opcional)
Indica si se debe ocultar el tema de la página "Apariencia" para que no pueda ser activado o desactivado mediante la interfaz de usuario.
hidden: true
engine (opcional)
Motor de tema. Por defecto es "twig".
engine: twig
logo - logotipo (opcional)
Vea la entrada de cambio: https://www.drupal.org/node/2939152
Ruta del logotipo relativa al archivo .info.yml del tema. Por defecto, Drupal buscará un archivo llamado "logo.svg" en la raíz de la carpeta del tema y lo usará como logotipo del tema.
logo: images/logo.png
screenshot - captura de pantalla (opcional)
Ruta a la captura de pantalla relativa al archivo .info.yml del tema. Las capturas deben tener un ancho de 588 píxeles y una altura de 438 píxeles, aunque se muestran a un tamaño menor. Por defecto, Drupal buscará un archivo llamado "screenshot.png" en la raíz del tema y lo usará como imagen del tema en la página "Apariencia".
screenshot: fluffiness.png
regions - regiones (opcional)
Lista de regiones temáticas. (Tenga en cuenta que las claves de las regiones no llevan guion). Más información sobre agregar regiones a un tema.
regions: header: Header content: Content sidebar_first: 'First sidebar'
regions_hidden (opcional)
Lista de regiones heredadas a eliminar.
regions_hidden: - sidebar_last
features - características (opcional)
Lista de características para mostrar en la página de "Configuración" del tema.
features: - comment_user_verification - comment_user_picture - favicon - logo - node_user_picture
stylesheets-remove - eliminar hojas de estilo (no recomendado)
Lista de hojas de estilo de otros módulos o temas para eliminar de todas las páginas donde el tema está activo. Cada valor debe ser una ruta completa relativa al documento para evitar ambigüedad cuando existen varios archivos con el mismo nombre. En los casos en que el archivo es parte de una biblioteca perteneciente a un módulo o tema, en lugar de la ruta completa puede usarse un token en la forma @module_or_theme_name. Tenga en cuenta que cuando se usa el token, el valor debe estar entre comillas, porque "@" es un indicador reservado en YAML. Nota: esta clave está obsoleta y será eliminada en Drupal 9. En la mayoría de los casos, debería usarse libraries-override.
stylesheets-remove: - core/assets/vendor/normalize-css/normalize.css - '@classy/css/components/tabs.css'
ckeditor_stylesheets (opcional)
Lista de hojas de estilo agregadas al iframe de CKEditor.
ckeditor_stylesheets: - https://fonts.googleapis.com/css?family=Open+Sans - css/base/elements.css
Más información
- Agregar hojas de estilo (CSS) y JavaScript (JS) a un tema Drupal 8
- Una descripción completa de todas las claves disponibles en el archivo *.info.yml se encuentra en: Permita que Drupal 8 conozca su módulo con un archivo .info.yml.
- Registro de cambios: Los archivos .info ahora son archivos .info.yml
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.