Skip to content
Snippets Groups Projects
Verified Commit 49063a57 authored by Dave Long's avatar Dave Long
Browse files

Issue #3422710 by nico.b, smustgrave, adwivedi008, alexpott: "More" link not...

Issue #3422710 by nico.b, smustgrave, adwivedi008, alexpott: "More" link not taking default arguments into account
parent 28881d63
No related branches found
No related tags found
No related merge requests found
......@@ -1963,17 +1963,6 @@ public function getUrl($args = NULL, $display_id = NULL) {
if (!isset($args)) {
$args = $this->args;
// Exclude arguments that were computed, not passed on the URL.
$position = 0;
if (!empty($this->argument)) {
foreach ($this->argument as $argument) {
if (!empty($argument->is_default)) {
unset($args[$position]);
}
$position++;
}
}
}
$path = $this->getPath();
......
langcode: en
status: true
dependencies:
config:
- node.type.page
module:
- node
- user
id: test_argument_default_node_with_page
label: 'Test argument_default node with page'
module: views
description: ''
tag: ''
base_table: node_field_data
base_field: nid
display:
default:
id: default
display_title: Default
display_plugin: default
position: 0
display_options:
title: 'Test argument_default node'
fields:
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: true
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
pager:
type: none
options:
offset: 0
items_per_page: null
exposed_form:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
access:
type: perm
options:
perm: 'access content'
cache:
type: tag
options: { }
empty: { }
sorts:
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: title
plugin_id: standard
order: DESC
expose:
label: ''
exposed: false
arguments:
nid:
id: nid
table: node_field_data
field: nid
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: nid
plugin_id: node_nid
default_action: default
exception:
value: all
title_enable: false
title: All
title_enable: false
title: ''
default_argument_type: node
default_argument_options: { }
summary_options:
base_path: ''
count: true
override: false
items_per_page: 25
summary:
sort_order: asc
number_of_records: 0
format: default_summary
specify_validation: false
validate:
type: none
fail: 'not found'
validate_options: { }
break_phrase: false
not: false
filters:
status:
id: status
table: node_field_data
field: status
entity_type: node
entity_field: status
plugin_id: boolean
value: '1'
group: 1
expose:
operator: ''
type:
id: type
table: node_field_data
field: type
entity_type: node
entity_field: type
plugin_id: bundle
value:
page: page
style:
type: default
row:
type: fields
query:
type: views_query
options:
query_comment: ''
disable_sql_rewrite: false
distinct: false
replica: false
query_tags: { }
relationships: { }
use_more: true
use_more_always: true
use_more_text: more
header: { }
footer: { }
display_extenders: { }
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- 'user.node_grants:view'
- user.permissions
tags: { }
block_1:
id: block_1
display_title: Block
display_plugin: block
position: 1
display_options:
display_extenders: { }
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- 'user.node_grants:view'
- user.permissions
tags: { }
page_1:
id: page_1
display_title: Page
display_plugin: page
position: 2
display_options:
display_extenders: { }
path: test-argument-default/%
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- 'user.node_grants:view'
- user.permissions
tags: { }
......@@ -30,6 +30,7 @@ class ArgumentDefaultTest extends ViewTestBase {
'test_argument_default_current_user',
'test_argument_default_node',
'test_argument_default_query_param',
'test_argument_default_node_with_page',
];
/**
......@@ -198,4 +199,33 @@ public function testArgumentDefaultQueryParameter() {
$this->assertEquals('page', $view->argument['type']->getDefaultArgument());
}
/**
* Tests the more line generation if a default argument is provided.
*/
public function testArgumentDefaultUrlGeneration() {
// Create a user that has permission to place a view block.
$permissions = [
'administer views',
'administer blocks',
'bypass node access',
'access user profiles',
'view all revisions',
];
$views_admin = $this->drupalCreateUser($permissions);
$this->drupalLogin($views_admin);
// Create nodes where should show themselves again as view block.
$node_type = NodeType::create(['type' => 'page', 'name' => 'Page']);
$node_type->save();
$node = Node::create(['title' => 'Test node 1', 'type' => 'page']);
$node->save();
// Place the block, visit the page that displays the block, and check that
// the more link takes the node ID into account and does not ignore
// the default argument.
$this->drupalPlaceBlock("views_block:test_argument_default_node_with_page-block_1", ['id' => 'view_block_id']);
$this->drupalGet('node/' . $node->id());
$this->assertSession()->linkByHrefExists('/test-argument-default/' . $node->id());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment