Issue #3055474 by Gribnif, Berdir: template_preprocess_file_link will not work with a stdClass object, though it tries to

merge-requests/1119/head
Alex Pott 2019-05-29 10:34:23 +01:00
parent f4fbbd1e65
commit 070e49b1a5
No known key found for this signature in database
GPG Key ID: 31905460D4A69276
1 changed files with 4 additions and 5 deletions

View File

@ -1443,7 +1443,7 @@ function template_preprocess_file_managed_file(&$variables) {
*
* @param array $variables
* An associative array containing:
* - file: A file object to which the link will be created.
* - file: A File entity to which the link will be created.
* - icon_directory: (optional) A path to a directory of icons to be used for
* files. Defaults to the value of the "icon.directory" variable.
* - description: A description to be displayed instead of the filename.
@ -1453,13 +1453,12 @@ function template_preprocess_file_link(&$variables) {
$file = $variables['file'];
$options = [];
$file_entity = ($file instanceof File) ? $file : File::load($file->fid);
// @todo Wrap in file_url_transform_relative(). This is currently
// impossible. As a work-around, we currently add the 'url.site' cache context
// to ensure different file URLs are generated for different sites in a
// multisite setup, including HTTP and HTTPS versions of the same site.
// Fix in https://www.drupal.org/node/2646744.
$url = $file_entity->createFileUrl(FALSE);
$url = $file->createFileUrl(FALSE);
$variables['#cache']['contexts'][] = 'url.site';
$mime_type = $file->getMimeType();
@ -1469,11 +1468,11 @@ function template_preprocess_file_link(&$variables) {
// Use the description as the link text if available.
if (empty($variables['description'])) {
$link_text = $file_entity->getFilename();
$link_text = $file->getFilename();
}
else {
$link_text = $variables['description'];
$options['attributes']['title'] = $file_entity->getFilename();
$options['attributes']['title'] = $file->getFilename();
}
// Classes to add to the file field for icons.