public MenuTreeStorage::getExpanded($menu_name, array $parents)
Finds expanded links in a menu given a set of possible parents.
Parameters
string $menu_name: The menu name.
array $parents: One or more parent IDs to match.
Return value
array The menu link IDs that are flagged as expanded in this menu.
Overrides MenuTreeStorageInterface::getExpanded
File
- core/lib/Drupal/Core/Menu/MenuTreeStorage.php, line 783
Class
- MenuTreeStorage
- Provides a menu tree storage using the database.
Namespace
Drupal\Core\Menu
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public function getExpanded( $menu_name , array $parents ) { // @todo Go back to tracking in state or some other way which menus have // expanded links? https://www.drupal.org/node/2302187 do { $query = $this ->connection->select( $this ->table, $this ->options); $query ->fields( $this ->table, array ( 'id' )); $query ->condition( 'menu_name' , $menu_name ); $query ->condition( 'expanded' , 1); $query ->condition( 'has_children' , 1); $query ->condition( 'enabled' , 1); $query ->condition( 'parent' , $parents , 'IN' ); $query ->condition( 'id' , $parents , 'NOT IN' ); $result = $this ->safeExecuteSelect( $query )->fetchAllKeyed(0, 0); $parents += $result ; } while (! empty ( $result )); return $parents ; } |
Please login to continue.