Closed (duplicate)
Project:
Drupal core
Version:
8.0.x-dev
Component:
language system
Priority:
Major
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
9 Mar 2013 at 01:57 UTC
Updated:
29 Jul 2014 at 21:59 UTC
Jump to comment: Most recent file

Comments
Comment #0.0
rliGiving the steps to reproduce the issue.
Comment #1
rliComment #2
rliMove to language module as the langcode is added into menu in language module.
Comment #3
rliBeen frustrating about this. What's the point putting langcode in the menu e.g af /node/edit ? That is not doing anything unless we have translation_entity installed. And it made node_help confused.
Comment #4
mradcliffeDrupal\system\Plugin\Block\SystemHelpBlock->access() calls menu_get_active_help(), which sends in the incorrect arguments to hook_help for the node edit router path or the incorrect router path for the language arguments. node_help() loads the node entity ONLY to get the node type so that it can display the content type help (submission guidelines).
The query that is built contains a data type mismatch, which is not allowed in Postgresql.
Semi-related issues:
- #2056627: Form API autocomplete is broken for routes
- #244090: Tie help into menu router
Possible resolutions:
- Get rid of hook_help(), one of the last remaining hooks from Drupal 3. :*(
- Language, menu, or help should normalize arguments before passing in to hook_help implementation.
- Find a different way of getting the node type in node_help.
The easiest resolution is to pass the current path as the second parameter in arg(), which is what the one-line patch does.
Tests:
- A unit test that tests drupal_help_arg() output?
Comment #5
mradcliffeCrap. git diff origin/8.x from the wrong branch so it pulled in a bunch of other things that I committed from other postgres issues.
Comment #6
tim.plunkettNice find, needs tests
Comment #7
berdirDuplicate of #1831846: Help block is broken with language path prefixes I think.
Comment #8
mradcliffeForgot to do this a while ago.
Comment #8.0
mradcliffefixing typo