Loading core/modules/views/src/Plugin/views/row/RssFields.php +3 −1 Original line number Diff line number Diff line Loading @@ -136,7 +136,9 @@ public function render($row) { $item->description = is_array($field) ? $field : ['#markup' => $field]; $item->elements = [ ['key' => 'pubDate', 'value' => $this->getField($row_index, $this->options['date_field'])], // Default rendering of date fields adds a <time> tag and whitespace, we // want to remove these because this breaks RSS feeds. ['key' => 'pubDate', 'value' => trim(strip_tags($this->getField($row_index, $this->options['date_field'])))], [ 'key' => 'dc:creator', 'value' => $this->getField($row_index, $this->options['creator_field']), Loading core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display_feed.yml +15 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,20 @@ display: plugin_id: field entity_type: node entity_field: title created: id: created table: node_field_data field: created relationship: none group_type: group admin_label: '' entity_type: node entity_field: created plugin_id: field type: timestamp settings: date_format: custom custom_date_format: 'Y-m-d' body: id: body table: node__body Loading Loading @@ -315,7 +329,7 @@ display: link_field: view_node description_field: body creator_field: title date_field: title date_field: created guid_field_options: guid_field: view_node guid_field_is_permalink: true Loading core/modules/views/tests/src/Kernel/Plugin/RssFieldsTest.php +6 −2 Original line number Diff line number Diff line Loading @@ -42,20 +42,23 @@ protected function setUp($import_test_views = TRUE): void { } /** * Tests correct processing of link fields. * Tests correct processing of RSS fields. * * This overlaps with \Drupal\Tests\views\Functional\Plugin\DisplayFeedTest to * ensure that root-relative links also work in a scenario without * subdirectory. */ public function testLink() { public function testRssFields() { // Set up the current user as uid 1 so the test doesn't need to deal with // permission. $this->setUpCurrentUser(['uid' => 1]); $date = '1975-05-18'; $node = $this->createNode([ 'type' => 'article', 'title' => 'Article title', 'created' => strtotime($date), 'body' => [ 0 => [ 'value' => 'A paragraph', Loading @@ -72,6 +75,7 @@ public function testLink() { $output = $view->preview('feed_2'); $output = (string) $renderer->renderRoot($output); $this->assertStringContainsString('<link>' . $node_url . '</link>', $output); $this->assertStringContainsString('<pubDate>' . $date . '</pubDate>', $output); } } Loading
core/modules/views/src/Plugin/views/row/RssFields.php +3 −1 Original line number Diff line number Diff line Loading @@ -136,7 +136,9 @@ public function render($row) { $item->description = is_array($field) ? $field : ['#markup' => $field]; $item->elements = [ ['key' => 'pubDate', 'value' => $this->getField($row_index, $this->options['date_field'])], // Default rendering of date fields adds a <time> tag and whitespace, we // want to remove these because this breaks RSS feeds. ['key' => 'pubDate', 'value' => trim(strip_tags($this->getField($row_index, $this->options['date_field'])))], [ 'key' => 'dc:creator', 'value' => $this->getField($row_index, $this->options['creator_field']), Loading
core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display_feed.yml +15 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,20 @@ display: plugin_id: field entity_type: node entity_field: title created: id: created table: node_field_data field: created relationship: none group_type: group admin_label: '' entity_type: node entity_field: created plugin_id: field type: timestamp settings: date_format: custom custom_date_format: 'Y-m-d' body: id: body table: node__body Loading Loading @@ -315,7 +329,7 @@ display: link_field: view_node description_field: body creator_field: title date_field: title date_field: created guid_field_options: guid_field: view_node guid_field_is_permalink: true Loading
core/modules/views/tests/src/Kernel/Plugin/RssFieldsTest.php +6 −2 Original line number Diff line number Diff line Loading @@ -42,20 +42,23 @@ protected function setUp($import_test_views = TRUE): void { } /** * Tests correct processing of link fields. * Tests correct processing of RSS fields. * * This overlaps with \Drupal\Tests\views\Functional\Plugin\DisplayFeedTest to * ensure that root-relative links also work in a scenario without * subdirectory. */ public function testLink() { public function testRssFields() { // Set up the current user as uid 1 so the test doesn't need to deal with // permission. $this->setUpCurrentUser(['uid' => 1]); $date = '1975-05-18'; $node = $this->createNode([ 'type' => 'article', 'title' => 'Article title', 'created' => strtotime($date), 'body' => [ 0 => [ 'value' => 'A paragraph', Loading @@ -72,6 +75,7 @@ public function testLink() { $output = $view->preview('feed_2'); $output = (string) $renderer->renderRoot($output); $this->assertStringContainsString('<link>' . $node_url . '</link>', $output); $this->assertStringContainsString('<pubDate>' . $date . '</pubDate>', $output); } }