only in patch2: unchanged: --- a/core/modules/views/src/Plugin/views/display/PathPluginBase.php +++ b/core/modules/views/src/Plugin/views/display/PathPluginBase.php @@ -151,16 +151,10 @@ protected function getRoute($view_id, $display_id) { // routes (defined via {}). As a name for the parameter use arg_$key, so // it can be pulled in the views controller from the request. foreach ($bits as $pos => $bit) { - if ($bit == '%') { - // Generate the name of the parameter using the key of the argument - // handler. - $arg_id = 'arg_' . $arg_counter++; - $bits[$pos] = '{' . $arg_id . '}'; - $argument_map[$arg_id] = $arg_id; - } - elseif (strpos($bit, '%') === 0) { - // Use the name defined in the path. - $parameter_name = substr($bit, 1); + if (strpos($bit, '%') === 0) { + // Use the name defined in the path. If no name is given then default to + // the base entity type for this view. + $parameter_name = $bit !== '%' ? substr($bit, 1) : $this->view->getBaseEntityType()->id(); $arg_id = 'arg_' . $arg_counter++; $argument_map[$arg_id] = $parameter_name; $bits[$pos] = '{' . $parameter_name . '}';