Forums / Setup & design / Creating a link to a file for download

Creating a link to a file for download

Author Message

Barney Gumble

Friday 30 January 2004 4:06:02 am

I've added some PDFs to my site using the file class, however I'm having problems accessing the attributes of this particular class. For example, how can I retrieve the full path to the file so that I may link to it? Unfortunately I cannot use |attribute(show) as this breaks the page.

I've seen various other posts regarding this but have yet to see a full solution. I've already checked out ezbinaryfile_direct.tpl and seen {$attribute.content.filepath|ezroot}, but when I try to use this as $:item.object.content.filepath (or similar) I'm not having much success.

Any help would be greatly appreciated as always!

Amina Bacar

Friday 30 January 2004 6:41:28 am

Hi,

I'm not quite sure if this is what you want.
I added some PDFs to my site using file class as well. Using the related objects I linked them to an article. To show the link for download and not the object file name i had to override the template embed for file class just using:

{default attribute_parameters=array()}
<p>{attribute_view_gui attribute=$object.data_map.file}</p>
{/default}

I hope this helps.

Barney Gumble

Friday 30 January 2004 8:06:54 am

Thanks! I'm not using related objects in this particular case. I've created an override template for a particular folder which will only contain file class objects, and I'm looping through the children as normal. I'm able to retrieve some parameters of the children such as name, but not the full path of the file itself. My goal is for the user to be able to right-click and choose Save Target As for a direct download. Cheers!

Barney Gumble

Friday 30 January 2004 6:20:08 pm

That worked for me in the end. I reduced ezbinaryfile.tpl to the bare minimum:

{section show=$attribute.content}
{concat("content/download/",$attribute.contentobject_id,"/",$attribute.id,"/file/",$attribute.content.original_filename)|ezurl}
{/section}

This then allows me to apply whatever formatting I want to the link.

eZ debug

Timing: Jan 31 2025 03:31:20
Script start
Timing: Jan 31 2025 03:31:20
Module start 'content'
Timing: Jan 31 2025 03:31:20
Module end 'content'
Timing: Jan 31 2025 03:31:21
Script end

Main resources:

Total runtime0.3794 sec
Peak memory usage8,192.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0072 588.0469370.2891
Module start 'content' 0.00730.0123 958.33591,001.4375
Module end 'content' 0.01950.3598 1,959.77343,889.9922
Script end 0.3793  5,849.7656 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00441.1693200.0002
Check MTime0.00130.3433200.0001
Mysql Total
Database connection0.00070.193210.0007
Mysqli_queries0.273271.99981410.0019
Looping result0.00180.47151390.0000
Template Total0.359494.710.3594
Template load0.00080.203210.0008
Template processing0.358694.534310.3586
Override
Cache load0.00050.130010.0005
Sytem overhead
Fetch class attribute can translate value0.00180.464410.0018
XML
Image XML parsing0.00030.085710.0003
General
dbfile0.00972.5606200.0005
String conversion0.00000.001430.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs