Hi friends!
About using a file field and it's display settings:
Is there a module through which files uploaded via file field can be configured to open in a new window (by adding attribute "_blank" to a link to the file)? I think this is very often required by practice and such a tool is needed at the level of content type administration.
I found the solution described below looking on the Internet - by adding code in template.php - and this code works excellently, I added it directly and experimentally in template.php of the core theme Bartik.
https://gist.github.com/olafgrabienski/960ee7e8f0b76128ce7bf12cb7d28880
The code is:
<?php function MYTHEME_file_link($variables) { $file = $variables['file']; $icon_directory = $variables['icon_directory']; $url = file_create_url($file->uri); $icon = theme('file_icon', array('file' => ($file instanceof File) ? $file : file_load($file->fid), 'icon_directory' => $icon_directory)); // Set options as per anchor format described at // http://microformats.org/wiki/file-format-examples $options = array( 'attributes' => array( 'type' => $file->filemime . '; length=' . $file->filesize, ), ); // Use the description as the link text if available. if (empty($file->description)) { $link_text = $file->filename; } else { $link_text = $file->description; $options['attributes']['title'] = check_plain($file->filename); } //open files of particular mime types in new window $new_window_mimetypes = array('application/pdf', 'text/plain'); if (in_array($file->filemime, $new_window_mimetypes)) { $options['attributes']['target'] = '_blank'; } return '<span class="file">' . $icon . ' ' . l($link_text, $url, $options) . '</span>'; }
However, this solution is not very intuitive and easy for anyone, especially novice users of the system, and I do not know how secure and reliable it is in view of the future development of Backdrop CMS.
Comments
I think that's the best way to do it.
I'm in the process of migrating a D7 site to Backdrop, and I had some method for doing this in D7 that wasn't ideal. So in my migration notes I have a note-to-self to:
I haven't done it yet, but it'll be similar to yours and olafgrabienski's code. Don't think there's a better way...
This is unsupported, but sounds like what is being discussed: https://www.drupal.org/project/filefield_target
Just realised another way to do this would be to use Javascript to add
target="_blank"
to appropriate links.This is how the External Links module does it.