Saya ingin membuat salinan formulir web yang saya buat, dengan alamat email baru sebagai penerima.
Setelah saya memuat node dengan node_load, dapatkah saya menyimpannya dengan node_save? Apakah itu akan membuat simpul baru dengan cap waktu dan id baru?
Bagaimana saya bisa mendapatkan nid dari simpul baru yang telah dibuat?
$node->nid
. Jika tidak ada ID simpul tersebut yang merupakan ID dari simpul yang dimuat, yang perlu diubah dengan ID dari simpul yang disimpan, maka Anda dapat membiarkan ID simpul tersebut apa adanya.unset($node->path);
Saya harus memposting ini sebagai jawaban karena sistem membuat Anda memiliki 50 poin reputasi sebelum dapat berkomentar.
Pokoknya, dalam menanggapi @koivo dan jawabannya. Saya hanya ingin menambahkan itu untuk saya, juga
$node->vid
tidak melakukan trik. Jadi kode saya untuk unsetting dan saving adalahsumber
Di D7 Anda harus menghapus id id
unset($node->nid)
dan id revisiunset($node->vid)
keduanya. Saya membangun formulir untuk mengkloning node dari satu jenis tertentu (produk) yang memiliki satu referensi istilah tertentu (dengan mengganti istilah itu id). Inilah hasil akhir:Anda mungkin mempertimbangkan untuk menyimpan ulang cap waktu
$node->uid
juga.sumber
Coba modul ulangan .
Saya perlu dengan mudah mengkloning dan mengubah hal-hal di situs yang saya lakukan baru-baru ini dan menemukan modul ini bekerja dengan baik.
Periksa file replicate.api.php untuk melihat betapa mudahnya menggunakannya.
sumber