Кто сталкивался? Уже полдня мучаюсь.
Суть, скопировать контент с домена на новый. На каждый язык своя нода.
Упрощенно в цикле так:
<?php
$node = node_load($nid);
$node->nid = null;
$node->vid = null;
$node->uid = 1;
$node->tnid; // Можно ли только это менять? .. Как и на что еще не придумал....
$node->path = null;
$node = node_submit($node);
node_save($node);
?>
Комментарии
https://www.drupal.org/project/node_clone
https://www.drupal.org/project/translation_clone
Попробовать так..Или в csv какой перегонять и импортировать
не знаю как, но работает.
Пусть тут лежит.
<?php
$node->domain_path[$domain['domain_id']] = $domain_path;
if( ! function_exists("node_object_prepare")) {
$node = node_submit($node);
//Собираем массив, из старых переводов и новых nid
foreach ($copy_domain_nids as $nid) {
$node = node_load($nid);
//ищем патч ноды на копируемом домене
$domain_path = db_select('domain_path ', 'n')
->fields('n', array('alias'))
->condition('n.language', $node->language)
->condition('n.entity_id', $node->nid)
->condition('n.entity_type', 'node')
->condition('n.domain_id', $form_values['values']['domain_domains_copy'])
->execute()
->fetchField();
$node->nid = null;
$node->vid = null;
$node->uid = 1;
$node->path['pathauto'] = FALSE;
$tnid = $node->tnid; //запоминаем перевод ноды
include_once(drupal_get_path('module', 'node') . '/node.pages.inc');
}
node_object_prepare($node);
$node->path = null; // удаляем патч
$node->subdomains[] = $domain['subdomain'];
$node->domains = array($domain['domain_id'] => $domain['domain_id']);
node_save($node);
$tnids[$tnid] = $node->nid;
$new_domains_nid[] = $node->nid;
}
//Обновляем переводы tnid
foreach ($new_domains_nid as $nid) {
$node = node_load($nid);
if(array_key_exists($node->tnid, $tnids)) {
$node->tnid = $tnids[$node->tnid];
node_save($node);
}
}
?>