diff --git a/core/modules/user/templates/user-picture.tpl.php b/core/modules/user/templates/user-picture.tpl.php
deleted file mode 100644
index ee82187..0000000
--- a/core/modules/user/templates/user-picture.tpl.php
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
diff --git a/core/modules/user/templates/user.html.twig b/core/modules/user/templates/user.html.twig
new file mode 100644
index 0000000..e011796
--- /dev/null
+++ b/core/modules/user/templates/user.html.twig
@@ -0,0 +1,31 @@
+{#
+/**
+ * @file
+ * Default theme implementation to present all user data.
+ *
+ * This template is used when viewing a registered user's page,
+ * e.g., example.com/user/123. 123 being the user's ID.
+ *
+ * Available variables:
+ * - content: A list of content items. Use 'content' to print all content, or
+ * print a subset such as 'content.field_example'.
+ * - Field variables: For each field instance attached to the user a
+ * corresponding variable is defined; e.g., account.field_example has a
+ * variable 'field_example' defined. When needing to access a field's raw
+ * values, developers/themers are strongly encouraged to use these
+ * variables. Otherwise they will have to explicitly specify the desired
+ * field language, e.g. account.field_example.en, thus overriding any
+ * language negotiation rule that was previously applied.
+ * - attributes: HTML attributes for the container element.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_user()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {% if content %}
+ {{- content -}}
+ {% endif %}
+
diff --git a/core/modules/user/templates/user.tpl.php b/core/modules/user/templates/user.tpl.php
deleted file mode 100644
index 617d310..0000000
--- a/core/modules/user/templates/user.tpl.php
+++ /dev/null
@@ -1,32 +0,0 @@
-field_example has a
- * variable $field_example defined. When needing to access a field's raw
- * values, developers/themers are strongly encouraged to use these
- * variables. Otherwise they will have to explicitly specify the desired
- * field language, e.g. $account->field_example['en'], thus overriding any
- * language negotiation rule that was previously applied.
- *
- * @see template_preprocess_user()
- *
- * @ingroup themeable
- */
-?>
->
-
-
diff --git a/core/modules/user/user.module b/core/modules/user/user.module
index 322311f..2cd64bb 100644
--- a/core/modules/user/user.module
+++ b/core/modules/user/user.module
@@ -93,8 +93,8 @@ function user_theme() {
return array(
'user' => array(
'render element' => 'elements',
- 'template' => 'user',
'file' => 'user.pages.inc',
+ 'template' => 'user',
),
'user_admin_permissions' => array(
'render element' => 'form',
diff --git a/core/modules/user/user.pages.inc b/core/modules/user/user.pages.inc
index 5f0cfab..5817d9c 100644
--- a/core/modules/user/user.pages.inc
+++ b/core/modules/user/user.pages.inc
@@ -179,12 +179,13 @@ function user_logout() {
}
/**
- * Process variables for user.tpl.php.
+ * Prepares variables for user templates.
*
- * The $variables array contains the following arguments:
- * - $account
+ * Default template: user.html.twig.
*
- * @see user.tpl.php
+ * @param array $variables
+ * An associative array containing:
+ * - account: The user account.
*/
function template_preprocess_user(&$variables) {
$account = $variables['elements']['#user'];
@@ -196,6 +197,9 @@ function template_preprocess_user(&$variables) {
// Preprocess fields.
field_attach_preprocess($account, $variables['elements'], $variables);
+
+ // Set up attributes.
+ $variables['attributes']['class'][] = 'profile';
}
/**