Commit f7e93f2a authored by catch's avatar catch
Browse files

Issue #3383219 by Lendude, greatmatter, HeikkiY, PapaGrande, hansfn: Views RSS...

Issue #3383219 by Lendude, greatmatter, HeikkiY, PapaGrande, hansfn: Views RSS Feed Fields adds <time> tag

(cherry picked from commit 2e94575d)
parent dca79fb0
Loading
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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']),
+15 −1
Original line number Diff line number Diff line
@@ -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
@@ -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
+6 −2
Original line number Diff line number Diff line
@@ -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',
@@ -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);
  }

}