メインコンテンツに移動

メインナビゲーション

  • ホーム
  • サイトマップ
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • Drupalの複数の同一hook関数の実行順序

Drupalの複数の同一hook関数の実行順序

drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
drupal
video
development
feeds

Feedsの問題点:ターム参照/Entity参照のフィールドにデータ追加はできない

  • 背景:Drupal7.54、Feeds7.x-2.0
  • データインポートの既存データ更新モードでは既存のデータを消して新しいデータで更新します(MySQLのUpdate文)
    • ターム参照/Entity参照などのフィールドも同じように以前の参照を削除されます
  • データの一括インポートには問題はありません
  • 複数回のデータインポート時にターム参照/Entity参照フィールドにデータの追加要望があります

ターム参照フィールドに「データ追加」オプションのカスタムモジュール作成

  • ターム参照のマッピング画面にある「Auto Create」オプションを参考しました
  • タームデータをノードに追加するオプションのカスタムモジュールを作成しました(モジュール:feeds_add_terms.zip)
    • データマッピング画面で「Adde term to node」オプションを追加します
    • データインポート時に既存のタームを削除せず、新しいタームを追加することにしました
      ターム参照フィールドに「Add term to node」オプションの追加

Entity参照のフィールドに「Entity追加」オプションもカスタムモジュールに入れました

  • ターム参照フィールドだけではなく、Entity Referenceフィールドのデータインポートも同じようにデータ追加要望があります
  • ターム参照のデータ追加と同じようにEntity参照フィールドも「Entity追加」オプションをモジュールに追加しました
    • entityreferenceモジュールもFeedsAPIを実装してデータインポート機能を付けました
    • 今回も同じFeedsAPIを実装して、同一hook(hook_feeds_processor_targets_alter)を実装しました
    • 必ずfeeds_add_termが後で呼び出すようにhook_module_implements_alterを実装しました(記事:「複数の同一hook関数の実行順序」を参考にしてください)

 

添付 サイズ
feeds_add_terms.zip (3.75 KB) 3.75 KB
Embedded thumbnail for DrupalのFeedsでのタームなどのデータを追加するカスタムモジュール
drupal
system_management

同一hookが複数のモジュール内で実装されることができます

  • 同一hook関数が複数のモジュール内で実装されることができます
  • 例:よく利用されているモジュール: Entity ReferenceにFeedsインポートのフィールドマッピング設定はhook_feeds_processor_targets_alter関数を実装しています
  • 既存のEnityを保持して、新しいEntityをノードに追加するカスタムモジュール(feeds_add_terms)もhook_feeds_processor_targets_alter関数を実装しています
    同一hookが違うモジュール内での実装

同じhookの呼び出し順序はその実装しているモジュールに関わります

  • 同一hook関数の呼び出し順序
    • DB上のsystemテーブルにあるweightが低ければ先に呼び出されます(モジュールの初期weight:0)
    • モジュールのアルファベット順で呼び出されます
  • DB上のsystemテーブルにあるweightがモジュールインストールされたときに「0」として設定されます
    • モジュールのweightが手動で変更することによってモジュールの呼び出す順序が変わります
      UPDATE system SET weight=100 WHERE name = 'feeds_add_terms'
    • モジュールの順序管理モジュール:Modules Weightを利用することもできます

hook_module_implements_alterをでモジュールの呼び出し順序の変更ができます

  • いろいろな記事を参考にして、hook_module_implement_alterを実装すれば、モジュールの呼び出し順序変更ができます
    function feeds_add_terms_module_implements_alter(&$implementations, $hook)
    {
        if($hook === "feeds_processor_targets_alter"){
            $temp = $implementations['feeds_add_terms'];
            // モジュール:feeds_add_termsを削除
            unset($implementations['feeds_add_terms']);
            // モジュール:feeds_add_termを最後に追加
            $implementations['feeds_add_terms'] = $temp;
        }
    }
  • モジュールの呼びさし順序変更に比較的に柔軟性があり、DBデータの変更する必要性が無くてイ、必要に応じて変更ができます
ホーム

古松

検索

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)