Drupalデータベースへの直接MySQL挿入クエリを使用して、カスタムCMSからDrupalにイメージをインポートしようとしました。画像はdrupalのサイト内のパスにコピーされます。マニュアルのDrupalノードの挿入
sites/default/files/images/import
ノードがリストに表示されますが、直接のリンク(someurl /ノード/ 1234)が404エラーの原因となります。それらはすべてmedia_imageタイプであり、有効なuidが割り当てられています。また、関連するインサートをfiles
とcontent_type_media_image
にインポートしました。このインポートを完了するために内部のDrupalプロセスが必要ですか?適切なDrupalインポートモジュールとして書き直さなければ、すべて可能ですか?
サンプルノードインサート:
INSERT INTO node SET
type='media_image',
language='en',
title='apicture.jpg',
uid='4',
status=1,
created=1328644135,
changed=1328644135;
// grab nid as last mysql_insert()
INSERT INTO files SET
uid = 4,
filename = 'apicture.jpg',
filepath = 'sites/default/files/images/import',
filemime = 'image/jpeg',
filesize = 40069,
status = 1,
timestamp = 1328644136;
INSERT INTO content_type_media_image SET
vid = 683,
nid = 683,
field_image_fid = 539,
field_image_list = 1,
field_image_data = 'a:3:{s:11:"description";s:0:"";s:3:"alt";s:0:"";s:5:"title";s:0:"";}';
注:上記のクエリが生成されたクエリです。
vidが行のnidと等しくなるように更新しました。 node_revisionsに関する情報をありがとう、私はもう一度それを試してみましょう。 – sreimer
これは本当に404の問題でした。もし私ができるなら、私はより多くのアップフォートを与えるだろう。今度は、画像をキャッシュに入れるという次の課題に挑戦してください。 – sreimer