0

I have created some custom page on frontend for particular type of node modyfications. Here's my page callback:

function vintranet_talk_edit_entry_page_callback($sNid) {
    module_load_include('inc', 'node', 'node.pages');

    $oNode = node_load($sNid);

    return drupal_get_form('page_node_form', $oNode);
}

My node has one field with file attachments.

Config:

'vintranet_talk_attachments' => array(
    'field_name'     => 'vintranet_talk_attachments',
    'label'          => t('Attachments'),
    'type'           => 'file',
    'cardinality'    => -1,
),

Instance:

'vintranet_talk_attachments' => array(
    'field_name'     => 'vintranet_talk_attachments',
    'label'          => t('Attachments'),
    'entity_type'    => 'node',
    'bundle'         => 'intranet_talk_page',
    'widget'         => array(
        'type' => 'file_mfw',
    ),
    'settings'       => array(
        'max_filesize'       => 10,
        'file_directory'     => 'intranet/talk',
        'file_extensions'    => 'jpg, png, gif, pdf, zip, doc, rtf, xdoc, rar',
        'description_field'  => 1,
    ),
    'display'        => array(
        'default' => array(
            'type' => 'file_table',
        ),
    ),
),

My first problem is, when I want to upload JPG file after module installation, system sends me this message: enter image description here

So ok... I'm going to check that particular field settings in Structure and I see this:

enter image description here

Why the hell it is saved like this?!

Okaaaaay.... so I'm changing this form field value on jpg, png, gif, pdf, zip, doc, rtf, xdoc, rar, saving and trying to upload the image one more time...

enter image description here

....clickin "Upload" button.... aaaaandd....

enter image description here

....yup.... that's my 2nd problem :/. Have no idea why it's not working. On the backend, in other hand, the "Upload" button works perfectly. Am I missing something?

(working on Drupal 7.31 version)

  • First, why don't you use the default UI to add a field to a node type? Second, file types should be separated by comma OR space, in your code you use both , and thus, since Drupal splits the string at commas AND spaces, you get jpg,, png,, .... – Paul Oct 7 '14 at 12:11
  • Ok, that's answer for one of the issues (with multiple commas). But still have 1st error if I set file_extensions configuration like this: `jpg,png,gif,pdf,zip,doc,rtf,xdoc,rar'. And I don't use UI because I'm making a node type dependent on my custom module. – Krzysztof Trzos Oct 7 '14 at 12:49
  • Well, part of the answers are to be found in your error messages. Go through these messages and debug at the mentioned lines. There must be some error in your code when calling various functions. – Paul Oct 7 '14 at 12:56
0

Answer for my problems:

function hook_menu_alter(&$aItems) {
    $sNodePath = drupal_get_path('module', 'node');

    $aItems['file/ajax']['file path']    = $sNodePath;
    $aItems['file/ajax']['file']         = 'node.pages.inc';
    $aItems['system/ajax']['file path']  = $sNodePath;
    $aItems['system/ajax']['file']       = 'node.pages.inc';
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.