- API and UI for attaching files and other entities
- Form input for uploading file attachments
- Views for displaying attachments
Register allowed subtypes¶
If you add your entity subtype to a list of entities supporting attachments, the plugin will attempt to create all of the UI, necessary to upload and display attachments:
elgg_register_plugin_hook_handler('allow_attachments', 'object:my_subtype', '\Elgg\Values::getTrue');
Note that this generic approach might not work with all plugins, and may require additional customizations on your side.
Display an attachment input¶
To add an attachments input to your comment and discussion replies forms, use the following code. You will not need to add any code to your save action.
echo elgg_view('input/attachments', [ 'name' => 'comment_attachments', ]);
To add an attachments input to your personal messages and replies forms, use the following code. You will not need to add any code to your save action.
echo elgg_view('input/attachments', [ 'name' => 'message_attachments', ]);
Note that if you are not using hypeDropzone, your form must have it’s encoding set to
Attach uploaded files in an action¶
hypeapps_attach_uploaded_files($entity, 'upload', [ 'access_id' => $entity->access_id, // change the access level of uploaded files ]);
Attach an object¶
echo elgg_view('output/attachments', [ 'entity' => $entity, ]);