Здравствуйте! Есть задача предоставить для скачивания разные файлы с разными описаниями на одной странице. Файлы хотелось бы все сразу загрузить на сервер и потом с feeds добавить как-то описания к ним прямо в ноде или специальном поле.
Как вараинт для реализации предполагаю
1)использовать поле типа файл.
Но минус в том, что название файла я транслитерирую для лучшей индексации.
Если описание сделать в body и прикрепить все файлы, то будет непонятно, что к чему относится.
Можно сделать поле текст и под ним поле файл, поле текст и снова файл и т.д.
Но если файлов предположим 10 на странице, то нужно делать 10 пар таких полей и 10 пар соответсвий в импортере feeds.
Чтобы этого избежать предполагаются следующие вариант
2)сделать поле типа ссылки на сущность, сущность будет нода с тремя полями : а)заголовком, б)текстовым в которое можно помещать описание и в)файлом.
Но тут вопрос, а нужно ли мне чтобы эти отдельные сущности мини ноды индексировались или в индекс пускать только сборную страницу?
3)Была мысль сделать с double_field, но там нет сейчас в списке типов полей файла
4)также вариант настроить
ckeditor_link_file и просто в тексте встраивать файлы
(но с feeds тогда менее удобно будет)
5)использовать имеющийся функционал
у меня при включенном модуля file в соответсвиях импортера появляется description для файла. Но как его потом вывести в ноде, я не могу найти.
Я склоняюсь к полю ссылке на сущность (ссылке на ноду с тремя полями). Верно ли ? Или есть более удобный и простой способ?
Комментарии
Почему бы не поставить в настройках файлового поля галочку "включить описание"?
Спасибо. Описание появляется. Но при этом при щелчке мышью не происходит скачивание файла, а файл (типа изображение) открывается в новом окне. А как сделать, чтобы он скачивался или добавить рядом с ним кнопку для скачивания (можно ли сделать без доп модулей типа file download)?
![](/sites/default/files/inline/images/2018-11-05_13-09-08.png)
Где добавляю галочку выкладываю на всякий случай
Также еще оно отображается сейчас вместо названия и как ссылка. Если я захочу добавить описание побольше, то это будет не очень удобно. Тогда ссылками на сущность наверное придется делать? И тогда индексировать мини ноды или только сборную ноду со всеми файлами и описаниями?
Как отображать описание отдельно, это я вам с ходу не скажу, возможно, в шаблоне поля можно поправить. По поводу скачивания тут такое дело - картинки и PDF-файлы открываются в браузере, если сервер отдал соответствующий заголовок. Это считается поведением по умолчанию. На уровне друпала это не рулится вообще никак - только настройкой сервера.
Ещё как вариант, возможно есть какие-то js-библиотеки, которые позволяют таким файлам скачиваться принудительно.
Спасибо
А если модулем дополнительно, то каким лучше или лучше на сервере все же?
А где можно почитать по настройками на сервере или просто что сказать в службе поддержки на хостинге?
Модулей под это дело я не встречал, но это не значит, что их нет. Что касается настроек сервера, зависит от того, какие у вас там файлы, например, если это картинки, то они должны именно открываться, а не скачиваться.
PS: а ещё чисто субъективно бесит, когда хочешь посмотреть какую-то пдфку, а она скачивается.
Спасибо.
У меня будет страница отдельно именно для скачивания и я хочу попробовать именно на ней настроить скачивание. Но вот из модулей 2 удалось найти
https://www.drupal.org/project/file_force
и
https://www.drupal.org/project/download_file
Но смущает что у них всего по 5-7 тысяч использующих сайтов
и еще третий для 8, там вообще 600 сайтов https://www.drupal.org/project/file_download
и это обсуждение
5-7 тысяч - это очень много, если принять во внимание то, что этот функционал нужен далеко не всем.
Попробую тогда эти модули. Спасибо
При попытке найти описание, как настраивать file_force, выяснилось, что нужно настраивать в настройках отображения (нигде не удалось найти инструкции, только на странице модуля написано, что он добавляет
"Formatters for your node fields in the "Display Fields" interface")
Но оказалось, что у меня там уже была возможность включать отображение как ссылку для скачивания изображения и с выключенным file_force, каким модулем это добавилось, не знаю, но точно не file_force (он там добавляет еще другие варианты), возможно filefield_sources, который ставился для другого совсем или типа того (сейчас уже не вычислю, так как несколько модулей было поставлено дополнительно).
![](/sites/default/files/inline/images/2018-11-06_00-24-24.png)
Ссылка эта рабочая, при нажатии действительно происходит скачивание.
Есть возможность настроить с помощью токенов, как будет отображаться подпись к файлу.
По умолчанию там "download" и токен с заголовком
"Download [file:name]"
А как узнать токен описания файла, который нужно подставить?
Причем слово download успешно меняю на "скачать"
![](/sites/default/files/inline/images/2018-11-06_00-23-49_0.png)
Но токен не получается поставить (пишу наугад вместо name description, но не работает)
![](/sites/default/files/inline/images/2018-11-06_00-57-25.png)
![](/sites/default/files/inline/images/2018-11-06_01-06-53.png)
С помощью модуля autonodetitle (чтобы посмотреть токен просто его использую не по назначению) вижу, что токен описания моего поля с файлом [node:field-myfile:?]
Но когда подставляю
все равно отображается только название
Как правильно указать токен описания файла?
file_force выводит файл для прямого скачивания с подписью описанием файла. Но все же чтобы избежать доп модуля токен хорошо было бы настроить тогда можно было бы обойтись без file_force.
![](/sites/default/files/inline/images/2018-11-06_01-36-41_2.png)
Также после теста модулей
file_force
и
download_file
выкладываю скрин возможностей настройки в отображении поля, которые они добавляют
Здравствуйте! Возникла еще задача вывести информацию о формате файлов текстом и убрать шапку
![](/sites/default/files/inline/images/bezymyannyy6.png)
Это в админке или в каком шаблоне правится или как узнать?
Также хотелось бы добавить иконку отдельно для скачивания. Т.е. чтобы при щелчке по названию файл открывался, а при щелчке по иконке скачивания - скачивался (может есть модуль для этого?).