Closed (outdated)
Project:
Drupal core
Version:
7.x-dev
Component:
node system
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
20 Jan 2011 at 19:24 UTC
Updated:
3 Sep 2011 at 15:50 UTC
Jump to comment: Most recent
Comments
Comment #1
inductor commentedComment #2
mile23hook_node_insert() exists to give your module a chance to save/update information to DB when the node is being saved. Calling field_view_field() doesn't make much sense at that time.
I suggest looking at the Node and Field examples in Examples for Developers: http://drupal.org/project/examples
Comment #3
inductor commentedThanks for the answer, Mile23. But imagine you want to send an email to site users when the node is created. And you want to include the file download links in the letter. Or, as in my case, you want to create а heartbeat entry with file information. Now you just can`t do it. I think it`s a bug.
Comment #4
fjen commented+ subscribe
Comment #5
Isostar commentedI am also looking for a way to email the link of a file on the moment the node with the file is created.
Comment #6
Antonin Brunon commentedHello,
I do experience this kind of problem.
I have a content type containing a file field named 'field_pdf', this field is of course compulsory.
When the user creates or updates a content of that type, I catch the $node in hook_node_insert & hook_node_update this way :
function my_module_node_insert($node)
{
if($node->type=="magazine")
{
my_module_create($node);
}
}
function my_module_node_update($node)
{
if($node->type=="magazine")
{
my_module_create($node);
}
}
Then I want to use the $node in 'my_module_create()' to get either the filename of the recently uploaded pdf file or its uri :
function my_module_create($node)
{
$sourceFilename = '/home/mydrupal/sites/default/files/public/pdf/' . $node->field_pdf['und'][0]['filename'];
$sourceUri = $node->field_pdf['und'][0]['uri'];
}
But looks like both $node->field_pdf['und'][0]['uri'] and $node->field_pdf['und'][0]['filename'] are undefined.
To be more precise, only 'filename' and 'uri' are not defined.
So, how am I supposed to get these ?
Thanks :)
Comment #7
Antonin Brunon commentedHey,
I have somewhat solved my problem !
Hope this will save time to some of you :
So basically, both filename and uri aren't accessible at this step.
I figured out that the fid is available !
#get the file id aka 'fid'
$fid = $node->field_pdf['und'][0]['fid'];
#create clean and complete URL
$source = file_create_url(file_load($fid)->uri);
HF YA HOORS c: