วิธีการนำเข้าบล็อกไปยังมุมมองที่มีอยู่โดยทางโปรแกรม
ฉันจำเป็นต้องเขียนโปรแกรมนำเข้าบล็อกไปยังมุมมองที่มีอยู่กับการตั้งค่า

ฉันรู้วิธีส่งออกมุมมองทั้งหมดและนำเข้าโดยใช้โปรแกรม แต่ฉันไม่ต้องการส่งออกมุมมองทั้งหมดแล้วนำเข้ามุมมองทั้งหมด ในมุมมองของฉันมี 25 บล็อกดังนั้นจึงให้รหัส 4000 บรรทัดเพื่อนำเข้า ฉันสามารถคัดลอกรหัสส่งออกได้เฉพาะบล็อกใหม่ของฉัน แต่จะนำเข้าเฉพาะส่วนของโค้ดนี้ไปยังมุมมองที่มีอยู่ได้อย่างไร? เป็นไปได้หรือไม่ ฉันไม่พบวิธีแก้ปัญหาใด ๆ
คำตอบ
"บล็อก" ที่ระบุที่คุณชี้ให้เห็นใน UI ภายในเรียกว่า "การแสดงผล" การแสดงผลจะถูกเก็บไว้ภายในวัตถุมุมมองในdisplay
คุณสมบัติ (เช่น$view->display
)
ถ้าคุณดูที่รหัสการส่งออกมุมมองที่คุณควรจะเห็นรูปแบบของบล็อกส่งออก (เช่น/* Display: Block 1 */
, /* Display: Block 2 */
ฯลฯ ) ที่แสดงผลโดยviews::export()วิธีการ
สำหรับแต่ละบล็อก (เช่นการแสดงผล) คุณควรเห็นบรรทัด$handler = $view->new_display(...)
หลาย$handler->display...
บรรทัดตามมาซึ่งเพิ่มฟิลด์ / ตัวกรองที่เกี่ยวข้องสำหรับการแสดงผลนั้น
ในการนำเข้าจอแสดงผลเดียวโดยทางโปรแกรมคุณต้องทำสิ่งต่อไปนี้:
$view = views_get_view('my_existing_view'); // @TODO: Add my new display handler code $view->save();