Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
I see this has changed slightly in dev but I think it will also apply to dev.
The offending code.
// Handle views
if ($router_item['page_callback'] == 'views_page') {
$router_item['page_callback'] = 'view';
$router_item['page_type'] = array_shift($router_item['page_arguments']);
$router_item['page_id'] = array_shift($router_item['page_arguments']);
// See http://drupal.org/node/651798 for the reason why this if is needed
if (is_array($router_item['page_id'])) {
$router_item['page_id'] = array_shift($router_item['page_id']);
}
return $router_item;
}
I implemented a workaround by adding the following to the top of the function.
if (!is_array($router_item['page_arguments'])) {
$router_item['page_arguments'] = array();
}
Comment | File | Size | Author |
---|---|---|---|
#1 | boost-917908.patch | 851 bytes | mikeytown2 |
Comments
Comment #1
mikeytown2 CreditAttribution: mikeytown2 commentedOdds are you have something broken in your menu router table; every row in the page_arguments column is a serialized array in the menu_router table.
Comment #2
NaX CreditAttribution: NaX commented@mikeytown2
Thanks, I have mostly come across this error on Access Denied pages on a multi language site, if that makes a difference.
Comment #3
mikeytown2 CreditAttribution: mikeytown2 commentedcommitted, thanks for the 403 explanation!