diff --git a/core/lib/Drupal/Core/Render/theme.api.php b/core/lib/Drupal/Core/Render/theme.api.php index 4a0aa4d1b4db10ccacbee86a1ba2872a46dd480b..8055217a9ea229db1d2d232e86328f2e52fe8385 100644 --- a/core/lib/Drupal/Core/Render/theme.api.php +++ b/core/lib/Drupal/Core/Render/theme.api.php @@ -610,7 +610,26 @@ function hook_preprocess_HOOK(&$variables) { * must otherwise make sure that the hook implementation is available at * any given time. * - * @todo Add @code sample. + * Suggestions must begin with the value of HOOK, followed by two underscores to be discoverable. + * + * In the following example, we provide suggestions to + * node templates based bundle, id, and view mode. + * + * @code + * function node_theme_suggestions_node(array $variables) { + * $suggestions = []; + * $node = $variables['elements']['#node']; + * $sanitized_view_mode = strtr($variables['elements']['#view_mode'], '.', '_'); + * $suggestions[] = 'node__' . $sanitized_view_mode; + * $suggestions[] = 'node__' . $node->bundle(); + * $suggestions[] = 'node__' . $node->bundle() . '__' . $sanitized_view_mode; + * $suggestions[] = 'node__' . $node->id(); + * $suggestions[] = 'node__' . $node->id() . '__' . $sanitized_view_mode; + * + * return $suggestions; + * } + * + * @endcode * * @param array $variables * An array of variables passed to the theme hook. Note that this hook is