Ini adalah bagian jawaban dan sama sekali tidak lengkap. Saya juga ingin mengetahui lebih banyak tentang keduanya. Jadi ini mungkin menjadi bagian dari diskusi; walaupun saya telah menulis sebagai jawaban daripada komentar karena cuplikan kode berikut dan contoh bagaimana saya menggunakan kelas di atas.
Biarkan saya mengilustrasikan beberapa kegunaan saya prepowow () sebagai - yang tidak seperti yang dikatakan.
Baru-baru ini saya memberikan beberapa data untuk diimpor dari database non drupal. Entitas yang saya tambahkan memerlukan bidang yang harus dimasukkan yang tidak saya miliki dalam impor data saya.
Jadi sebelum kelas sumber saya dibuat, saya bisa menambahkan
$source_fields = array(
'changed' => t('Timestamp of when the change was made.'),
'created' => t('Timestamp of when the node was Created.'),
);
dan kemudian dalam fungsi prepRow saya bisa melakukan hal berikut
$nowtimestamp = mktime(date('Y-m-d'));
$row->changed = $nowtimestamp;
$row->created = $nowtimestamp;
Anda juga dapat menjalankan pernyataan php if / else di sini jika perlu.
Saya juga menggunakan fungsi persiapan dalam kode saya dan saya menggunakannya untuk memberikan nilai pada entitas.
$account->field_job_location [und][0]['tid'] = $row->job_location_tid;
Saya hanya harus menggunakan ini dalam skenario ini karena saya membuat plugin simpul kustom saya sendiri.
Juga jika Anda perlu membuat perhitungan tentang itu maka Anda dapat melakukannya di prepowow yang berjalan sebelum prepow ()
Misalnya dalam impor, saya memiliki nilai berlabel 'Kota' - dan dapat mengubahnya menjadi Term Term.
if ($TownCity == 'London' ){
$row->job_location_tid = '10';
} else {
$row->job_location_tid = '11';
}
Saya harap ini membantu.