1. Go to this page and download the library: Download gemadigital/file-manager library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
php
use App\Models\Project;
return [
'parents' => [
Project::class, // Parent classes namespaces (multiple parents supported)
],
// Parent field should appear or should be infer
// You may use a closure to define the access to this
'parents_field' => (function () {
// return user()->hasManyProjects();
return true;
}),
// Use to filter the parents list
// You may use a closure to define the access to this
'parents_filter' => (function ($query){
if(!admin()) {
return $query->whereIn('id', user()->parentsIds());
}
return $query;
}),
'filter' => (function($query){
/**
* Function used in medias fetch operation.
* Use to apply filters, ordering, etc to the file-manager medias listing
*/
if(!admin()){
return $query
->whereIn('parent_id', backpack_user()->projects())
->where('parent_type', Project::class);
}
return $query;
})
// Menu
// You may use a closure to define the access on CRUD
'access' => [
'file-manager' => true,
'media-tag' => true,
'media-type' => true,
'media-version' => true,
],
// Use media cloud or use Laravel Storage
// Set as false to use media cloud, set a diskname to use Laravel Storage
'disk' => false,
];
php
class MyEntityCrudController extends CrudController {
public function setupCreateOperation(){
// Setting up the fields
$this->crud->addField([
'name' => 'images',
'type' => 'file-manager',
'view_namespace' => 'file-manager::field',
'media_type' => 1 // Get this from `media_types.id`
]);
$this->crud->addField([
'name' => 'videos',
'type' => 'file-manager',
'view_namespace' => 'file-manager::field',
'media_type' => 2 // Get this from `media_types.id`
]);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.