メインコンテンツに移動
メインナビゲーション
ホーム
サイトマップ
ビデオ
ご連絡
パンくず
ホーム
DrupalのFeedsで多言語コンテンツデータのインポート
DrupalのFeedsで多言語コンテンツデータのインポート
記事カテゴリ
drupal
video
タグ
feeds
やりたいこと:Feedsで多言語コンテンツデータのインポート
背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
モジュール:Entity Translationで多言語サイトを構築しています
複数の言語コンテンツをデータ移行したいです
いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです
解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行
多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
video
シリーズ記事一覧
記事カテゴリ
drupal
タグ
drupal
customization
feeds
data import
目的
Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった
解決の選択肢
Feed Importモジュールでのデータインポート
Feedsモジュールのカスタマイズをする
ここでの解決:Feedsのカスタマイズ
インストールされたモジュール
Feeds
: 7.x-2.0
ECK
: 7.x-2.0
Entity API
: 7.x-1.5
上記モジュールのインストールと有効化
ECKでインポートデータタイプとBundleを作成する
例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
「組織データ」のプロパティ:title、uid、created、changedを使用する
「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加
Feedsの紹介
Feedsが三つの部分から構成される:Fetcher、Parser、Processor
Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)
FeedsにEntity Typeデータ変換プロセッサーに追加
Patch
ファイルをFeedsモジュールに当てる
Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
files
添付
サイズ
feeds_entity_processor-1033202-217.patch_.txt
(16.03 KB)
16.03 KB
記事カテゴリ
drupal
タグ
drupal
feeds
customization
Feedsの機能
いろいろなフォーマットのデータをDrupalのデータ構造(例:ユーザー/ノード/Taxonomyなど)に合わせてインポートする
一対一のコンテンツデータ(例:User -> Userデータ)
いろいろなフォーマットデータ(例:RSS/
OPML/
Atom feeds、csvなど)を各種Drupalのコンテンツ(例:User,Articleなど)データのインポート
PubSubHubbub のサポート
Feeds APIが提供されているので、独自のFetcher,Parser,Processorのプラグインの追加が可能
基本設定:インポーターの名前、実行タイミングなどの設定
Fetcher: インポートするデータ/ファイルのフォーマット、場所などの指定
Parser: インポートデータの解析方法の指定
Processor: 出力するデータのフォーマット/コンテンツ、インポートデータのフィールドマッピングの指定
記事カテゴリ
drupal
video
タグ
node
多言語有効なコンテンツごとに「言語」設定があります
背景:Drupal7.55
多言語有効なコンテンツに言語設定項目があります
翻訳管理画面では「元言語」、「オリジナル言語」などの表示があります
新規コンテンツ作成画面では「言語」選択項目
Feedsのプロセッサー管理画面では「言語」選択項目
この選択肢が一つだけなので、有効化された言語と関係はありますか
翻訳されていないコンテンツ内容を選択された「オリジナル言語」の内容を表示されます
コンテンツごとに「オリジナル言語」があります。これは「デフォルト言語」と言ってもよいでしょう
翻訳されていないフィールドに「オリジナル言語」の内容が表示されます
オリジナル言語選択の意味は言語翻訳失敗した時の回避策と言ってよいでしょう
「ニュートラル」言語選択された意味ま言語翻訳を行わない
言語選択肢に「ニュートラル」があります
「ニュートラル」が選択された場合にこのコンテンツの翻訳を行わないことです
コンテンツの「翻訳」タブがありません
video
シリーズ記事一覧
記事カテゴリ
drupal
video
タグ
system_management
モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します
背景:Drupal7.54、Localization Update7.x-2.1
モジュール(Localization Update)をインストール/有効化します
言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます
管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)
Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
サイト管理者が選択してから、一般ユーザーの選択はできません。
複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます
複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
URL: URLから言語を判定する(パス接頭語かドメイン)
セッション: 言語をrequest/sessionパラメーターから判定する。
ブラウザ: ブラウザーの言語設定から言語を判定する。
ユーザー: ユーザープロフィールで設定した言語に従う。
デフォルト: サイトのデフォルト言語を使う
上記判別方法のい任意、または全部の選択はできます
判別の優先順のソートができます
URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
設定された方式で言語を判別となります
説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
video
記事カテゴリ
drupal
video
タグ
feeds
やりたいこと:Feedsで多言語コンテンツデータのインポート
背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
モジュール:Entity Translationで多言語サイトを構築しています
複数の言語コンテンツをデータ移行したいです
いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです
解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行
多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
video
記事カテゴリ
drupal
タグ
bug
問題点:フィールド内容が消された後に設定された元言語(日本語)が表示せず別の言語(中国語)が表示された問題
背景:Drupal7.55、Entity Translation7.x-1.0
Entity Translationで多言語サイトを構築しました(Content Translationは無効化)
Articleタイプコンテンツを多言語有効化し、Bodyフィールドを多言語有効化しました
新しいArticleを作成します
最初のソース言語:日本語
他の2言語(英語/中国語)Bodyの翻訳
言語選択スイッチで言語切り替えして、作成されたコンテンツが正しく表示されました
ここから問題です
英語バージョンのBodyを削除します
コンテンツ表示画面では中国語のコンテンツが表示されました
原因/解決:原因不明(Drupalコアプロジェクトに報告)
この表示順序に問題があるかどうか(これは仕様か)は不明です
Drupalコアプロジェクトに報告して、対応策を考えます
video
シリーズ記事一覧
記事カテゴリ
drupal
video
タグ
node
多言語有効なコンテンツごとに「言語」設定があります
背景:Drupal7.55
多言語有効なコンテンツに言語設定項目があります
翻訳管理画面では「元言語」、「オリジナル言語」などの表示があります
新規コンテンツ作成画面では「言語」選択項目
Feedsのプロセッサー管理画面では「言語」選択項目
この選択肢が一つだけなので、有効化された言語と関係はありますか
翻訳されていないコンテンツ内容を選択された「オリジナル言語」の内容を表示されます
コンテンツごとに「オリジナル言語」があります。これは「デフォルト言語」と言ってもよいでしょう
翻訳されていないフィールドに「オリジナル言語」の内容が表示されます
オリジナル言語選択の意味は言語翻訳失敗した時の回避策と言ってよいでしょう
「ニュートラル」言語選択された意味ま言語翻訳を行わない
言語選択肢に「ニュートラル」があります
「ニュートラル」が選択された場合にこのコンテンツの翻訳を行わないことです
コンテンツの「翻訳」タブがありません
video
記事カテゴリ
drupal
video
タグ
feeds
module usage
やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート
背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
drupalのfeedsで多言語コンテンツデータのインポート
BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
複数回でそれぞれの言語データをインポートします
FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定
コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)
Feedsのマッピング設定画面でbodyのインポート言語設定を行います
データマッピング管理画面でbodyフィールドに言語設定があります
複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います
各言語に応じて複数回を分けてデータインポートする必要があります
言語ごとにデータインポートする必要があります
一括して同一フィールドに複数の言語インポートができません
具体的なステップはビデオを参考してください
video
シリーズ記事一覧
記事カテゴリ
drupal
タグ
drupal
customization
feeds
data import
目的
Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった
解決の選択肢
Feed Importモジュールでのデータインポート
Feedsモジュールのカスタマイズをする
ここでの解決:Feedsのカスタマイズ
インストールされたモジュール
Feeds
: 7.x-2.0
ECK
: 7.x-2.0
Entity API
: 7.x-1.5
上記モジュールのインストールと有効化
ECKでインポートデータタイプとBundleを作成する
例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
「組織データ」のプロパティ:title、uid、created、changedを使用する
「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加
Feedsの紹介
Feedsが三つの部分から構成される:Fetcher、Parser、Processor
Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)
FeedsにEntity Typeデータ変換プロセッサーに追加
Patch
ファイルをFeedsモジュールに当てる
Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
files
添付
サイズ
feeds_entity_processor-1033202-217.patch_.txt
(16.03 KB)
16.03 KB
記事カテゴリ
drupal
タグ
feeds
module usage
Feedsモジュールの基本使用:csvデータをノード(node)にインポート
環境:Drupal7.54、Feeds7.x-2.0
Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
例:コンテンツのタイトルと内容をインポートします
注意事項:基本設定とプロセッサーの設定
基本的なインポート操作はビデオを参考してください
基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
プロセッサーの設定
新規ノートの作成許可するかの設定
複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
投稿者の設定はデータ新規作成のみに使用されます
コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
プロセッター設定について、記事「
Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定
」を参考してください
video
記事カテゴリ
drupal
video
タグ
system_management
モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します
背景:Drupal7.54、Localization Update7.x-2.1
モジュール(Localization Update)をインストール/有効化します
言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます
管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)
Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
サイト管理者が選択してから、一般ユーザーの選択はできません。
複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます
複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
URL: URLから言語を判定する(パス接頭語かドメイン)
セッション: 言語をrequest/sessionパラメーターから判定する。
ブラウザ: ブラウザーの言語設定から言語を判定する。
ユーザー: ユーザープロフィールで設定した言語に従う。
デフォルト: サイトのデフォルト言語を使う
上記判別方法のい任意、または全部の選択はできます
判別の優先順のソートができます
URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
設定された方式で言語を判別となります
説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
video
記事カテゴリ
drupal
video
タグ
feeds
やりたいこと:Feedsで多言語コンテンツデータのインポート
背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
モジュール:Entity Translationで多言語サイトを構築しています
複数の言語コンテンツをデータ移行したいです
いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです
解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行
多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
video
古松
検索
Search
Article Category
apache(7)
css(19)
drupal(295)
Electron(4)
html(34)
javascript(27)
laravel(4)
linux(5)
macOS(2)
mysql(13)
php(19)
python(4)
SEO(12)
video(72)
Visual Studio Code(4)
windows(13)
wordpress(32)