web-dev-qa-db-ja.com

ノードにフィードをインポートするにはどうすればよいですか?

RSSフィードをノードとしてインポートするソリューションを探していました。変更を加え、コンテンツにフィールドを追加する必要があります。これは、Drupal 7のFeeds Importerで簡単にできましたが、Drupal 8。

フィードをノードに直接インポートする最良の方法は何でしょうか?

2
GT Tech Life

解決策は次のとおりです。

https://ohthehugemanatee.org/blog/2017/06/07/stop-waiting-for-feeds-module-how-to-import-remote-feeds-in-drupal-8/

1)migrate_plusおよびmigrate_toolsモジュールをダウンロードして有効にします。あなたは作曲家でこれをやるべきですが、私は判断しません。それらをコードベースに入れて有効にします。 Migrate PlusはコアMigrateのプラグインを提供するため、リモートXML、JSON、CSV、または任意のスプレッドシートデータを解析できます。移行ツールは、移行を実行するためのDrushコマンドを提供します。

2)移行構成をテキストで記述し、構成インポート管理ページ(admin/config/development/configuration/single/import)に貼り付けるか、別の方法でインポートします。すぐ下にスターターYAMLを含めました。コピーパスタをコピーし、いくつかの値を変更して、お茶に間に合うようにする必要があります。

3)システムcronに行を追加して、drush migrate -y my_rss_importerを好きな間隔で実行します。

以下は、調整する必要があるYAMLファイルです。

id: my_rss_importer
label: 'Import my RSS feed'
status: true

source:
  plugin: url
  data_fetcher_plugin: http
  urls: 'https://example.com/feed.rss'
  data_parser_plugin: simple_xml

  item_selector: /rss/channel/item
  fields:
    -
      name: guid
      label: GUID
      selector: guid
    -
      name: title
      label: Title
      selector: title
    -
      name: pub_date
      label: 'Publication date'
      selector: pubDate
    -
      name: link
      label: 'Origin link'
      selector: link
    -
      name: summary
      label: Summary
      selector: 'iTunes:summary'
    -
      name: image
      label: Image
      selector: 'iTunes:image[''href'']'

  ids:
    guid:
      type: string

destination:
  plugin: 'entity:node'

process:
  title: title
  field_remote_url: link
  body: summary
  created:
    plugin: format_date
    from_format: 'D, d M Y H:i:s O'
    to_format: 'U'
    source: pub_date
  status:
    plugin: default_value
    default_value: 1
  type:
    plugin: default_value
    default_value: podcast_episode
2
Justme