1

I installed the SEO Checklist module and when I go the search in the Extend (admin/modules) page the module Configure page I don't see it, so I go the the module issue an create a new issue Add link to configure page to solve the problem, I thought at the end this will be very easy, the page exists (admin/config/search/seo-checklist) so, is just search the route and add it to the .info.yml file.

But when I start to check the module files I see that the .info.yml file have the configure page defined with the same route that have as url admin/config/search/seo-checklist

configure: checklistapi.checklists.seo_checklist

So I start to dig a little in the code and I found that this route checklistapi.checklists.seo_checklist is defined dynamically in the Checklist API module

  $routes["checklistapi.checklists.{$id}"] = new Route($definition['#path'], [
    '_title' => (string) $definition['#title'],
    '_form' => '\Drupal\checklistapi\Form\ChecklistapiChecklistForm',
    'checklist_id' => $id,
    'op' => 'any',
  ], $requirements);

I'm missing something here or is not possible to have a dynamic route as configure module page?

  • Comments are not for extended discussion; this conversation has been moved to chat. – Clive Oct 14 '17 at 9:21
  • The routes added in the code are dynamic only during discovery. After that they are the same as if they were discovered from a yaml file – 4k4 Oct 14 '17 at 16:01
  • @4k4 In this case I think that this doesn't works, you can try it by your self. – Adrian Cid Almaguer Oct 15 '17 at 3:51
1

It is possible to use any route for the configure link, as long as all route parameters are satisfied (parameters can be specified via configure_parameters).

In the case of the above bug, the access check was failing, preventing the link from displaying.

The problem was solved in: ChecklistapiAccessCheck looks in the wrong place for 'checklist_id' and 'op'

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.