Стандартные настройки видимости блоков не позволяют выводить блок, в зависимости от того, находится текущая страница в этом блоке в пункте меню или нет. Решить такую задачу можно кастомным модулем:
function MODULE_block_access(Block $block, $operation, AccountInterface $account){
if ($operation == 'view'){
if($block->id() == 'BLOCK-ID'){
$path = \Drupal::service('path.current')->getPath();
$alias = \Drupal::service('path.alias_manager')->getAliasByPath($path);
$storage = \Drupal::entityManager()->getStorage('menu_link_content');
$menu_links = $storage->loadByProperties(['menu_name' => 'MENU-NAME']);
if($menu_links){
$menu_items = [];
foreach($menu_links as $item){
$menu_items[] = $item->getUrlObject()->toString();
}
if(!in_array($alias, $menu_items)){
return AccessResult::forbiddenIf(true)->addCacheableDependency($block);
}
}
}
}
}
Используемые материалы:
https://www.examtray.com/tutorials/how-show-or-hide-block-visibility-dru...
https://drupal.stackexchange.com/questions/247625/how-do-i-retrieve-a-me...