La API de Drupal tiene drupal_get_path($type, $name)
que dará la ruta de acceso de cualquier tema o módulo en particular. ¿Qué pasa si quiero la ruta del tema actual?¿Cómo obtengo la ruta del tema drupal actual?
Respuesta
utilizar la función path_to_theme
.
esto debería funcionar (doc):
global $theme;
$path = drupal_get_path('theme', $theme);
// there's also a $theme_path global
global $theme_path;
Hola Gracias por el Owen info –
Es mejor usar 'path_to_theme()', que usar '$ theme_path'. – kiamlaluno
¿Por qué es mejor usar path_to_theme(), en lugar de $ theme_path? – timoxley
En Drupal 5, sólo tiene que utilizar: path_to_theme()
Esto le dará una ruta completa desde la raíz de Drupal para el directorio de tema. Tenga en cuenta que no incluye una barra inclinada.
En Drupal 6, esto se comporta de forma un poco diferente. Si lo llamas desde dentro de tus páginas, llamará a lo que esté haciendo actualmente el tema ... si ese es tu tema, un módulo, etc. Aquí está la cita clave de los documentos API:
Puede señalar al tema activo o el módulo manejando una implementación temática . Por ejemplo, cuando se invoca dentro del alcance de una incrustación , dependerá de dónde se maneje la función de eclosión . Si se implementa desde un módulo, se enviará al módulo . Si se implementa desde el tema activo, apuntará al tema activo. Cuando se llame al fuera del alcance de una llamada de clasificación, , siempre apuntará al tema activo.
En D6 path_to_theme() no se comporte de una manera que se puede esperar en función de cómo se está utilizando. Si lo está utilizando fuera de las funciones de preproceso de tema, probablemente le proporcione lo que desea, pero si se lo llama en el contexto de la función de anulación/preproceso de un módulo ... indicará la ruta del módulo que declaró el tema.
Ej. Si tengo un tema "my_theme" y mi módulo "my_module" que está anulando los temas del foro utilizando los enganches de preproceso, invocando path_to_theme() dentro de mi módulo: p. my_module_preprocess_forums() ... devolverá "foros", y no "my_theme" como cabría esperar.
Muy afrutado si me preguntas.
En Drupal 7, para obtener la ruta del tema actual, podemos utilizar: path_to_theme() función.
Para D8, la carpeta de temas está disponible en las funciones de procesamiento previo:
function hook_preprocess_page(&$variables) {
$variables['some_logo_file'] = "/{$variables['theme']['path']}/images/logo.png";
}
page.html.twig:
<img src="{{ logo_src }}">
En Drupal 8
global $base_url;
$theme = \Drupal::theme()->getActiveTheme();
$image_url = $base_url.'/'. $theme->getPath() .'/images/image.jpg';
- 1. ¿Cómo obtengo la ruta del perfil de un usuario en Drupal?
- 2. En WPF, ¿cómo obtengo el fondo del botón del tema actual?
- 3. ¿Cómo obtengo la ruta de la carpeta Configuración local del usuario actual en C#?
- 4. Cómo obtener el nombre del tema actual en Magento
- 5. ¿Cómo obtengo la fecha actual?
- 6. Android: ¿Cómo obtener el ID del recurso del tema actual?
- 7. ¿Cómo obtengo la posición actual del cursor de la pantalla?
- 8. PHP mostrar la ruta actual del servidor
- 9. Cómo obtengo la fecha actual en Cocoa
- 10. ¿Cómo obtengo la posición actual de intercalación?
- 11. ¿Cómo obtengo la identificación de catageory actual?
- 12. ¿Cómo se genera la ruta del elemento actual en XSLT?
- 13. ¿Cómo obtengo la ruta al archivo actual en un complemento de la Oficina COM compartida?
- 14. Drupal: cómo cambiar el idioma actual de la taxonomía
- 15. ¿Cómo obtengo la url actual sin params en Yii?
- 16. ¿Cómo obtener la ruta actual en HtmlHelper?
- 17. ¿Cómo obtengo el primer día del mes actual?
- 18. ¿Cómo obtengo el nombre de la ruta de RouteData?
- 19. Cómo crear un nuevo tema en drupal 7
- 20. xslt obtener la ruta actual de la carpeta del archivo
- 21. ¿Cómo obtengo el nombre del directorio actual en Ruby?
- 22. Ruta del script actual de Extendscript
- 23. ¿Cómo obtengo el archivo actual, la clase actual y el método actual con Python?
- 24. Ruta de carriles dependiente del usuario actual
- 25. Drupal node_save ya no devuelve $ nid, entonces, ¿cómo lo obtengo?
- 26. PHP dinámicos incluyen basa en la ruta del archivo actual
- 27. Recuperar la ruta del archivo fuente actual con fish
- 28. ¿Cómo puedo cambiar la forma en que mi tema de Drupal muestra la portada
- 29. ¿Cómo obtengo la versión publicada actual en una aplicación .NET?
- 30. En Python, ¿cómo obtengo el marco actual?
tenga en cuenta que cuando se invoca desde la función "theme_ *" path_to_there devolverá la ruta al módulo actual en lugar de la ruta al tema actualmente activo que puede generar errores, consulte más detalles en este informe de errores: http: //drupal.org/node/ 194098 – webdevbyjoss