ユーザ用ツール

サイト用ツール


cms:drupal:upgrade8:references

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
cms:drupal:upgrade8:references [2022/01/03 19:55] kingcms:drupal:upgrade8:references [2022/01/03 23:08] (現在) – [referenceを機能させる] king
行 8: 行 8:
 4年前の記事であるが、migradeの機能としてはないようであるが、モジュールがあるようである 4年前の記事であるが、migradeの機能としてはないようであるが、モジュールがあるようである
  
 +===== referenceを機能させる =====
 +手動でやるしかないかな、ということで、やってみる。いくつか、かなり長い間(冬休みのほぼ数日)を変えてこの方法で一つクリアできた。
  
 +  * Datasheet類は部品種類(例えばMCUやDiodeなどの)を示す「親分類」としての親コンテンツをDatasheet_daibunruiとして持ち、
 +  * その下に紐づく部品(個別の部品毎)をDatasheet_childとしたコンテンツとして構成していた。
 +  * Datasheet_childは、1部品1コンテンツになり、node_referenceで親を参照する
  
 +D7でのコンテンツフィールドを示す(下段にD8移行後の状態を示している)
 +^ ^Datasheet_daibunrui^Datasheet_child^
 +^D7もと|{{:cms:drupal:upgrade8:d8-ref-1.png?direct&400|}}|{{:cms:drupal:upgrade8:d8-ref-2.png?direct&400|}}|
 +^D8移行後|{{:cms:drupal:upgrade8:d8-ref-3.png?direct&400|}}|{{:cms:drupal:upgrade8:d8-ref-4.png?direct&400|}}|
 +
 +代理店やメーカなどの参照先もあるが、ここで一旦無視するとして、参照するためのフィールドを作る。viewsは移行する手段があるようですが、コンテンツのフィールドが移行されてなきゃだめなんで、結局全てのコンテンツを修正する必要があるというわけですかね?
 +
 +さらにぐぐってみたら、[[https://stackoverflow.com/questions/57102034/drupal-8-node-reference-migrate-to-entity-reference-type|Drupal 8 - Node reference migrate to entity reference type]]の中に、こんなことが書いてある(ググ翻訳)
 +<blockquote>
 +古いCCKパッケージのおよびフィールドタイプのD7バージョンを提供するReferencesモジュールを使用しているようです。node_referenceuser_reference
 +
 +このモジュールは、drupal7の初期にこれらのフィールドタイプを有効にするためのソリューションでした。しばらくして、エンティティ参照がd7に登場し、任意のエンティティを参照するための汎用フィールドタイプを提供し、それ以来Drupal8コアに含まれています。
 +問題に対処するには、参照フィールドを適切なフィールドタイプに移行することから始める必要がありますentity_reference。
 +drupal 8の移行前に作業を完了するのに役立つ、Reference toEntityReferenceフィールド移行と呼ばれるモジュールがあります。</blockquote>
 +
 +**えっ?そうなの!**  全然知らんかったんだけど。これは別のページでもう一回やるとして、、、
 +
 +自分のサイトだったら、100もないけど、会社のイントラネット内のサイトのコンテンツは1000を超えてるからなー、誰がやるんかなぁ、なんて思っていましたが、方法があるようだ!
 +
 +
 +
 +==== 子コンテンツのフィールドを作る ====
 +{{:cms:drupal:upgrade8:d8-ref-5.png?direct&400|}} {{:cms:drupal:upgrade8:d8-ref-6.png?direct&200|}}
 +
 +次にフィールドの設定で\\
 +{{:cms:drupal:upgrade8:d8-ref-7.png?direct&400|}} {{:cms:drupal:upgrade8:d8-ref-8.png?direct&200|}}
 +
 +デフォルト値が選択式(セレクト)になるためには、あとで、フィールドの管理 ではなく、フォームの表示管理 で選べるようになる。
 +
 +{{:cms:drupal:upgrade8:d8-ref-9.png?direct&500|}}
 +
 +===== viewを作成 =====
 +最初、viewばっかりいじって頑張っていたのだが、コンテンツ見たらフィールドがないことがわかったから、あとからフィールドを作ったら、うんとあっさりいった。
 +
 +{{:cms:drupal:upgrade8:d8-view-1.png?direct&600|}}
 +
 +フィルタ条件に、「掲載」と「子コンテンツ」要素を入れることと、そのコンテクスチャフィルター(意味わかってないんだけど)の設定をやるってことだ。
 +
 +{{:cms:drupal:upgrade8:d8-view-2.png?direct&600|}}
  
  
  
cms/drupal/upgrade8/references.1641207359.txt.gz · 最終更新: 2022/01/03 19:55 by king