Bagaimana cara mengimpor blok secara terprogram ke tampilan yang ada?
Saya perlu mengimpor blok secara terprogram ke tampilan yang ada dengan pengaturannya .

Saya tahu cara mengekspor seluruh tampilan dan mengimpornya secara terprogram. Tapi saya tidak ingin mengekspor seluruh tampilan dan kemudian mengimpor seluruh tampilan. Dalam pandangan saya ada 25 blok, jadi ini memberi saya 4000 baris kode untuk diimpor. Saya hanya dapat menyalin kode ekspor dari blok baru saya. Tetapi bagaimana cara mengimpor hanya bagian kode ini ke tampilan yang ada ? Apakah itu mungkin? Saya tidak dapat menemukan solusi apa pun.
Jawaban
"Blok" yang ditunjukkan yang Anda tunjukkan di UI, secara internal disebut "tampilan". Tampilan disimpan di dalam objek tampilan di display
properti (misalnya $view->display
).
Jika Anda melihat kode ekspor tampilan, Anda akan melihat pola blok yang diekspor (mis /* Display: Block 1 */
. /* Display: Block 2 */
, Dll.) Yang dirender oleh views::export()metode.
Untuk setiap blok (yaitu tampilan) Anda akan melihat $handler = $view->new_display(...)
diikuti oleh banyak $handler->display...
baris yang menambahkan bidang / filter yang relevan untuk tampilan itu.
Untuk mengimpor satu tampilan secara terprogram, Anda akan melakukan sesuatu seperti berikut:
$view = views_get_view('my_existing_view'); // @TODO: Add my new display handler code $view->save();