ฉันจะแสดง / แก้ไขชื่อเครื่องสำหรับมุมมองได้อย่างไร
เหตุผลในการถามคือฉันพยายามโคลนมุมมอง แต่ชื่อที่ฉันให้นั้นถูกปฏิเสธเพราะมันถูกใช้ไปแล้ว แต่ฉันไม่เห็นว่าอยู่ที่ไหน
ฉันจะแสดง / แก้ไขชื่อเครื่องสำหรับมุมมองได้อย่างไร
เหตุผลในการถามคือฉันพยายามโคลนมุมมอง แต่ชื่อที่ฉันให้นั้นถูกปฏิเสธเพราะมันถูกใช้ไปแล้ว แต่ฉันไม่เห็นว่าอยู่ที่ไหน
คำตอบ:
คุณสามารถส่งออกมุมมองเปลี่ยนค่าลบมุมมองเดิมและนำเข้ากลับ
มีตัวเลือกนำเข้าในหน้ารายการมุมมอง เพียงวาง URL นี้หลัง URL ปัจจุบันของคุณแล้วคุณจะเห็นหน้ามุมมองการนำเข้า โดยการดูแท็กของคุณฉันถือว่าคุณกำลังใช้ Drupal 7 ดังนั้น URL ที่ระบุด้านล่างจะใช้ได้กับ Drupal 7 เท่านั้น
ด้านล่างนี้คือ URL ที่จะเพิ่ม:
#overlay=admin/structure/views/import
วิธีส่งออกมุมมอง:
ไปที่ / admin / โครงสร้าง / มุมมอง
ใต้คอลัมน์ 'การดำเนินงาน' คลิกที่ลูกศรและเลือก 'ส่งออก'
คัดลอกรหัสและแก้ไข / เปลี่ยนแปลงในตัวแก้ไขภายนอก
ไปที่ / admin / โครงสร้าง / มุมมอง / นำเข้าและนำเข้ามุมมองที่เปลี่ยนแปลงแล้วคุณสามารถลบมุมมองที่มีอยู่ก่อนหรือเลือก 'แทนที่มุมมองที่มีอยู่หากมีอยู่ด้วยชื่อเดียวกัน' ในการตั้งค่าการนำเข้า -
ฉันไม่คิดว่าคุณสามารถเปลี่ยนชื่อเครื่องของมุมมองอย่างน้อยไม่ได้อยู่ใน UI คุณสามารถเห็นชื่อเครื่องใน URL หากคุณเลื่อนเมาส์ไปที่ "ลิงค์แก้ไข"
คุณสามารถโคลนด้วยชื่อเครื่องใหม่
อัปเดต:วิธีแสดงชื่อเครื่องสำหรับมุมมอง
คุณสามารถดูรายการมุมมองทั้งหมดในการติดตั้ง Drupal โดยใช้รหัสนี้:
$views = views_get_all_views();
// Optional: views objects are big so unset large members
foreach ($views as $machine_name => $view) {
unset($view->display, $view->localization_plugin);
$views[$machine_name] = $view;
}
// Print array keyed by views machine name
dpm($views);
คุณสามารถเรียกใช้รหัสนี้ในหน้าdevel/php
(ต้องการโมดูลDevel )
จะมีอาร์เรย์ของมุมมองที่พิมพ์โดยใช้ชื่อเครื่องและคุณจะสามารถค้นหามุมมองที่หายไป
อัปเดต:คุณสามารถค้นหามุมมองด้วยชื่อเครื่องที่หน้ารายการมุมมองใน Drupal 7 สำหรับสิ่งนี้คุณควรเปิดแฟล็ก "แสดงตัวกรองในรายการมุมมอง" ในการตั้งค่า Views
$page["#views_contextual_links_info"]["views_ui"]["view_name"]
- โดยใช้ตัวแปรนี้คุณจะได้รับชื่อเครื่องของมุมมองของคุณ
คุณสามารถเปลี่ยนค่าของฟิลด์ชื่อในตารางviews_viewในฐานข้อมูล ไม่ใช่ความคิดที่ดีที่สุดเสมอไปเนื่องจากคุณสามารถทำลายการอ้างอิงไปยังบล็อก / หน้าในบางส่วนของไซต์เช่นในแผงควบคุม
ฉันไม่เชื่อว่าคุณสามารถเปลี่ยนชื่อเครื่องของมุมมองได้เมื่อคุณสร้างมันขึ้นมาและการค้นหาชื่อเครื่องนั้นไม่ง่ายเลย ฉันคิดว่าอาจเป็นเพราะคนเดียวที่ต้องการชื่อเครื่องจะเป็นโปรแกรมเมอร์และผู้ใช้ขั้นสูงที่สามารถจัดการความสับสนได้เพื่อทำให้ส่วนต่อประสานเข้าใจได้ง่ายขึ้นสำหรับทุกคน
หากต้องการค้นหาชื่อเครื่องของมุมมองเพียงไปที่รายการมุมมองของคุณและกดเมาส์ไว้เหนือส่วนใดส่วนหนึ่งของแถว ไม่จำเป็นต้องเป็นปุ่มแก้ไข นี่ไม่ใช่เมาส์โอเวอร์ JavaScript อย่างเป็นทางการดังนั้นเบราว์เซอร์ของคุณอาจเลือกที่จะแสดงมันในวิธีที่แตกต่างจากที่ฉันเห็นหรืออาจจะไม่แสดงเลยก็ได้ ในกรณีดังกล่าวคุณสามารถดูแหล่งที่มา HTML และคุณจะสังเกตเห็นว่าในแท็กของแถวมุมมองที่คุณกำลังดูมีแอตทริบิวต์ชื่อเรื่องที่จะอ่านคล้าย ๆ กัน
หากคุณต้องการชื่อเครื่องของจอแสดงผลภายในมุมมองนั่นเป็นเรื่องง่ายกว่าเล็กน้อย นั่นคือในบล็อกขั้นสูงของอินเทอร์เฟซการแก้ไขมุมมอง มันอยู่ในนั้นบางแห่งและมีป้ายกำกับว่า "machine_name" ดังนั้นจึงไม่มีเทคนิคพิเศษที่จะเปิดเผย ไม่เหมือนกับชื่อเครื่องของมุมมองคุณสามารถเปลี่ยนชื่อนี้ได้
แล้วคุณจะทำอย่างไรถ้าคุณต้องการเปลี่ยนชื่อเครื่องของมุมมอง? ทีนี้คุณอาจจะมีปัญหากับฐานข้อมูลและแก้ไขมันด้วยตัวเองเพื่ออัพเดทชื่อเครื่องทุกที่ที่มันใช้ แต่นี่เป็นปัญหาของฉันมากเกินไป มีวิธีที่ง่ายกว่ามาก เพียงคัดลอกมุมมองของคุณและตั้งชื่อเครื่องที่คุณต้องการจริงๆ หลังจากโคลนแล้วคุณสามารถลบต้นฉบับที่มีชื่อเครื่องผิด