From 9143ca30006dfd9b05de1834c687d1d2277e5708 Mon Sep 17 00:00:00 2001 From: Jennifer Hodgdon Date: Tue, 30 Jul 2013 06:04:30 -0700 Subject: [PATCH] Issue #2031319 by jlindsey15, pplantinga, thedavidmeister, Kingdutch, Kiphaas7: Document that theme() should really be called via drupal_render(). --- core/includes/theme.inc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/core/includes/theme.inc b/core/includes/theme.inc index 84d4752e3b3..c276c570ac1 100644 --- a/core/includes/theme.inc +++ b/core/includes/theme.inc @@ -793,11 +793,17 @@ function drupal_find_base_themes($themes, $key, $used_keys = array()) { /** * Generates themed output. * - * All requests for themed output must go through this function. It examines - * the request and routes it to the appropriate + * All requests for themed output must go through this function (however, + * calling the theme() function directly is strongly discouraged - see next + * paragraph). It examines the request and routes it to the appropriate * @link themeable theme function or template @endlink, by checking the theme * registry. * + * Avoid calling this function directly. It is preferable to replace direct + * calls to the theme() function with calls to drupal_render() by passing a + * render array with a #theme key to drupal_render(), which in turn calls + * theme(). + * * @section sec_theme_hooks Theme Hooks * Most commonly, the first argument to this function is the name of the theme * hook. For instance, to theme a taxonomy term, the theme hook name is @@ -897,6 +903,7 @@ function drupal_find_base_themes($themes, $key, $used_keys = array()) { * An HTML string representing the themed output or FALSE if the passed $hook * is not implemented. * + * @see drupal_render() * @see themeable * @see hook_theme() * @see template_preprocess()