File manager not working in block's tools directory

I am using version 8.5.9 of ConcreteCMS. I would like to extend editing the block by using tools, so clicking on a button calls up for example, my_block/tools/edit_form_tool.php. I created the URL with this:

use Concrete\Core\Application\Service\Urls;

$URLHelper = App::getFacadeApplication()->make(Urls::class);
$formAddTreeTypeUrl = $URLHelper->getBlockTypeToolsURL($bt) . '/edit_form_tool';

And the bootstrap modal using the file manager:

use Concrete\Core\Support\Facade\Application as App;

$form = App::getFacadeApplication()->make(Concrete\Core\Form\Service\Form::class);
$al = App::getFacadeApplication()->make('helper/concrete/asset_library');

  <div class="form-group row">
    <?= $form->label('image-tool', t('Image'), ['class' => 'col-sm-3']) ?>
    <?= $al->image('image-tool', 'fID', t('Choose Image'), null) ?>


It looks like the filemanager.js is working, as I can see this in the inspector:

  $('[data-file-selector="image-tool"]').concreteFileSelector({"inputName":"fID","fID":null,"filters":[{"field":"type","type":1}],"chooseText":"Choose Image"});

but there is no input, so the inner HTML (chooseTemplate) is not being created:

<div class="ccm-file-selector-choose-new">
  <input type="hidden" name="fID" value="0">
    Choose Image

Could anyone help me understand what I am missing or what I need to do to get the helper to function correctly? Thanks

Perhaps because /tools/ is deprecated and now removed from the core. See Advanced developer concepts

Thanks @JohntheFish

Have now changed the code following this guide, so added a route:

protected $pkgAutoloaderRegistries = array(

        'src/Controller' => 'MyPackage\Controller',


$router = $this->app->make(RouterInterface::class);
$router->get('editing/form', 'MyPackage\Controller\EditingForm::add_edit');

The form modal shows up correctly with the route but still missing the input fields.

Do I need to reload the JS and CSS? Or something else, thanks.

Just because I spotted something that could be an issue does not mean I have a full solution for you.

Yep, I understand. I was just updating my post and wasn’t directly replying to you, just saying thanks for pointing it out and then putting my question back out there for anyone else to answer

Do you still have questions? Or did you figure this out?