私は、各行に英語/フランス語の混合コンテンツを持つ単一のMySQLテーブルを持っています。これを適切なi18n構成のDrupalサイトに移行する方法を考えています。
Migrateでコンテンツを1つの言語にインポートできますが、両方の言語にインポートしたいです。901行あるため、最終的にリンクされる1802ノードを作成する必要があります。
Migrateモジュールを2回ループしてノードをリンクするようにセットアップする方法がわかりません。
編集:私はこれを使用し、2つをマージすることができました:
public function postImport() {
parent::postImport();
// $ii should really be determined by $count_query
$ii = 2000;
for ($i = 1; $i < $ii; $i++) {
// Confirm SQL in phpMyAdmin to verify
$query = "SELECT n.nid, tid.field_bv_transfer_id_value
FROM {field_revision_field_bv_transfer_id} tid
INNER JOIN node n ON tid.entity_id = n.nid
WHERE tid.field_bv_transfer_id_value = $i;";
$result = db_query($query);
// Reset for each import
$currentRowCount = $current_translateid = 0;
foreach ($result as $record) {
if ($currentRowCount % 2 == 0) {
$node = node_load($record->nid);
$node->pathauto_perform_alias = FALSE;
$node->tnid = $record->nid;
$current_translateid = $record->nid;
node_save($node);
} else {
$node = node_load($record->nid);
$node->pathauto_perform_alias = FALSE;
$node->tnid = $current_translateid;
node_save($node);
}
$currentRowCount++;
}
}
}