Я пытаюсь создать копию веб-формы, которую я сделал, с новым адресом электронной почты в качестве получателя.
После того, как я загружу узел с помощью node_load, могу ли я просто сохранить его с помощью node_save? Это создаст новый узел с новыми временными метками и идентификаторами?
Как я могу получить nid нового узла, который был создан?
$node->nid
. Если ни один из этих идентификаторов узлов не является идентификатором загруженного узла, который необходимо изменить с помощью идентификатора сохраненного узла, вы можете оставить эти идентификаторы узлов такими, какие они есть.unset($node->path);
Я должен был опубликовать это как ответ, потому что система дает вам 50 очков репутации, прежде чем вы сможете комментировать.
Во всяком случае, в ответ на @koivo и его ответ. Я просто хотел добавить это для меня, также сбросив,
$node->vid
сделал свое дело. Так что мой код для сброса и сохраненияисточник
В D7 вы должны сбросить идентификатор узла и идентификатор
unset($node->nid)
ревизииunset($node->vid)
. Я создаю форму для клонирования узлов одного определенного типа (продукта), имеющих одну определенную ссылку на термин (с заменой этого термина id). Вот заключительная отправка:Вы могли бы также подумать о том, чтобы восстановить метки времени
$node->uid
и.источник
Попробуйте дублировать модуль .
Мне нужно было легко клонировать и изменять вещи на сайте, который я недавно сделал, и обнаружил, что этот модуль работает хорошо.
Проверьте файл replicate.api.php, чтобы увидеть, насколько легко его использовать.
источник