Drupal 5 のサイトを Drupal 6 から Drupal 7 に移行する作業のほとんどが完了しました。CCK コンテンツ移行は、1 つの例外を除いて素晴らしい仕事をしました。 「許可された値」リストに。
元の「許可された値」リストがキー|ラベルのペアを使用しなかった場合、次のようになります。
Alabama
Alaska
Arizona
許可された値は、Drupal 7 に移行されると、次のように key|label 形式に自動的に更新されました。
1|Alabama
2|Alaska
3|Arizona
これは、データベース内の実際のデータがそれに応じて変更されなかったことを除けば、それほど悪くはありません。そのため、既存のデータは「1」ではなく「Alabama」と表示されます。おそらく、新しいデータは「Alabama」ではなく「1」を格納します。また、ノードを編集すると、そのフィールドにデータが存在するにもかかわらず、値「-None-」が選択リストで事前に選択されます。
場合によっては、「許可された値」リストは、次のようにキー | ラベルのペア (キーとして文字列を使用) を使用しました。
movie|Movie
television|Television
product_or_service|Product or Service
これらの場合、キーはデータベースに格納されます。前のケースと同様に、ノードを編集するときに (既存のデータを表示する代わりに) 値 "-None-" が事前に選択されます。Drupal 7 に移行してもキーとラベルのペアは変更されませんでしたが、次のようにスペースが削除されていることに気付きました。
product_or_service | Product or Service
なりました:
product_or_service|Product or Service
ただし、ここでの問題は、キーがラベル (Product または Service など) ではなくノード (product_or_service など) に表示されることです。
いずれの場合も、ビューのこれらの選択リストから作成された公開フィルターは結果を返しません。選択リストではない他のフィールド(テキストフィールドなど)で公開フィルターを作成しようとしましたが、それらは問題なく機能しました(そのビューの詳細オプションで「AJAXを使用」が選択されると)。
問題は、これらの分野を前進させる最善の方法は何かということです。既存のノードと新しいノードの両方で key|label データを一貫して使用したいと考えています。また、Drupal 6 に戻って移行プロセスをやり直すことは、できれば避けたいと思っています。
この問題に関する参考文献は、オンラインで 2 つしか見つかりませんでした。同じ問題が発生した後、1 人が手動でデータを更新したようです (この投稿の 1 つのコメントを参照してください)。ノードがあまりないので、このような解決策に反対しているわけではありませんが、それを行う方法についてかなり具体的な指示が必要です (意味がわかれば、phpMy Admin を介してデータベースにアクセスします)。
別の人が Drupal 6 で修正したようですが、私はすでに Drupal 7 を使用しており、(これを除いて) ほぼ完了しているため、6 に戻ることは避けたいと考えています! この場合も、おそらく特定の指示が必要になるでしょう。
誰かがこれを経験しましたか?または、スマートでシンプルなソリューションを知っていますか? ご意見やご提案をいただければ幸いです。ありがとうございました!