ฉันจะแสดง / แก้ไขชื่อเครื่องสำหรับมุมมองได้อย่างไร


18

ฉันจะแสดง / แก้ไขชื่อเครื่องสำหรับมุมมองได้อย่างไร

เหตุผลในการถามคือฉันพยายามโคลนมุมมอง แต่ชื่อที่ฉันให้นั้นถูกปฏิเสธเพราะมันถูกใช้ไปแล้ว แต่ฉันไม่เห็นว่าอยู่ที่ไหน

คำตอบ:


16

คุณสามารถส่งออกมุมมองเปลี่ยนค่าลบมุมมองเดิมและนำเข้ากลับ

มีตัวเลือกนำเข้าในหน้ารายการมุมมอง เพียงวาง URL นี้หลัง URL ปัจจุบันของคุณแล้วคุณจะเห็นหน้ามุมมองการนำเข้า โดยการดูแท็กของคุณฉันถือว่าคุณกำลังใช้ Drupal 7 ดังนั้น URL ที่ระบุด้านล่างจะใช้ได้กับ Drupal 7 เท่านั้น

ด้านล่างนี้คือ URL ที่จะเพิ่ม:

#overlay=admin/structure/views/import

วิธีส่งออกมุมมอง:

  1. ไปที่ / admin / โครงสร้าง / มุมมอง

  2. ใต้คอลัมน์ 'การดำเนินงาน' คลิกที่ลูกศรและเลือก 'ส่งออก'

  3. คัดลอกรหัสและแก้ไข / เปลี่ยนแปลงในตัวแก้ไขภายนอก

  4. ไปที่ / admin / โครงสร้าง / มุมมอง / นำเข้าและนำเข้ามุมมองที่เปลี่ยนแปลงแล้วคุณสามารถลบมุมมองที่มีอยู่ก่อนหรือเลือก 'แทนที่มุมมองที่มีอยู่หากมีอยู่ด้วยชื่อเดียวกัน' ในการตั้งค่าการนำเข้า -


คุณช่วยอธิบายกระบวนการส่งออกมุมมองได้ไหม
niksmac

ทางลัดสำหรับตัด
monymirza

/ ผู้ดูแลระบบ / โครงสร้าง / อ่าน / นำเข้า
Zdenko Vujasinovic

1
@ nikhil-m ในการส่งออกมุมมอง: 1. ไปที่ / admin / โครงสร้าง / มุมมอง 2. ภายใต้คอลัมน์ 'การดำเนินงาน' คลิกที่ลูกศรและเลือก 'ส่งออก' 3. คัดลอกรหัสและแก้ไข / เปลี่ยนแปลงในตัวแก้ไขภายนอก 4. ได้ / admin / โครงสร้าง / มุมมอง / นำเข้าและนำเข้ามุมมองที่เปลี่ยนแปลงคุณสามารถลบมุมมองที่มีอยู่หรือเลือก 'แทนที่มุมมองที่มีอยู่หากมีอยู่ด้วยชื่อเดียวกัน' ในการตั้งค่าการนำเข้า
Zdenko Vujasinovic

+1 เปลี่ยนสิ่งนี้เป็นคำตอบที่ยอมรับเพราะตอบคำถามของฉันทั้งหมด: 1. เพื่อดูชื่อเครื่องและ 2. แก้ไข ฉันชอบโซลูชันนี้เพราะต้องใช้จำนวนรหัสขั้นต่ำและการตั้งค่าในการทำ (ไม่มีรหัสที่จะเขียน นอกจากนี้ยังแสดงวิธีการส่งออกมุมมอง - ซึ่งฉันคิดว่าจะมีประโยชน์มากสำหรับการสร้างอัตโนมัติของเว็บไซต์ Drupal (ด้วย drush, drush make), การจัดการซอร์สโค้ดและทำให้มุมมองคล้ายกันจากที่มีอยู่อย่างรวดเร็ว ขอขอบคุณ!
therobyouknow

9

ฉันไม่คิดว่าคุณสามารถเปลี่ยนชื่อเครื่องของมุมมองอย่างน้อยไม่ได้อยู่ใน UI คุณสามารถเห็นชื่อเครื่องใน URL หากคุณเลื่อนเมาส์ไปที่ "ลิงค์แก้ไข"


ฉันจะตรวจสอบนี้
therobyouknow

+1 และยอมรับ @mototribe งานนี้ ความอัปยศที่พวกเขาไม่สามารถแสดงได้อย่างถาวรแทนที่จะต้องโฮเวอร์
therobyouknow

อัปเดต: โซลูชันบางส่วนที่ดี - ขอบคุณ - ฉันได้ย้ายการตั้งค่าสถานะที่ยอมรับไปยังคำตอบอื่นที่ให้บริการโซลูชันสำหรับการเปลี่ยนชื่อเครื่อง
therobyouknow

6

คุณสามารถโคลนด้วยชื่อเครื่องใหม่

อัปเดต:วิธีแสดงชื่อเครื่องสำหรับมุมมอง
คุณสามารถดูรายการมุมมองทั้งหมดในการติดตั้ง 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


1
คำถามคือ "ฉันจะแสดง / แก้ไขชื่อเครื่องสำหรับมุมมองได้อย่างไร"
kiamlaluno

+1 @kiamlaluno kalabro ฉันประหลาดใจที่ต้องใช้รหัสที่กำหนดเองเพื่อให้ได้สิ่งนี้
therobyouknow

นี่คือรหัสการดีบักครั้งเดียวซึ่งคุณสามารถเรียกใช้เพื่อดูมุมมองของคุณ ไม่มีคอลัมน์ที่มี machine_name ของการดูในรายการมาตรฐานของ Views และไม่มีตาราง DB ที่มีมุมมองทั้งหมดเพราะบางมุมมองจะถูกเก็บไว้ในรหัส
kalabro

4

$page["#views_contextual_links_info"]["views_ui"]["view_name"] - โดยใช้ตัวแปรนี้คุณจะได้รับชื่อเครื่องของมุมมองของคุณ


0

คุณสามารถเปลี่ยนค่าของฟิลด์ชื่อในตารางviews_viewในฐานข้อมูล ไม่ใช่ความคิดที่ดีที่สุดเสมอไปเนื่องจากคุณสามารถทำลายการอ้างอิงไปยังบล็อก / หน้าในบางส่วนของไซต์เช่นในแผงควบคุม


คำแนะนำแย่มากซึ่งจะทำให้ไซต์ของคุณพัง
Danny Englander

ไม่ใช่ถ้าคุณฉลาดเกี่ยวกับมันและแทนที่บล็อก / บานหน้าต่าง / ฯลฯ ทำงานได้มากเท่ากับการโคลนนิ่ง
มาร์คคาเมรอน

0

ฉันไม่เชื่อว่าคุณสามารถเปลี่ยนชื่อเครื่องของมุมมองได้เมื่อคุณสร้างมันขึ้นมาและการค้นหาชื่อเครื่องนั้นไม่ง่ายเลย ฉันคิดว่าอาจเป็นเพราะคนเดียวที่ต้องการชื่อเครื่องจะเป็นโปรแกรมเมอร์และผู้ใช้ขั้นสูงที่สามารถจัดการความสับสนได้เพื่อทำให้ส่วนต่อประสานเข้าใจได้ง่ายขึ้นสำหรับทุกคน

หากต้องการค้นหาชื่อเครื่องของมุมมองเพียงไปที่รายการมุมมองของคุณและกดเมาส์ไว้เหนือส่วนใดส่วนหนึ่งของแถว ไม่จำเป็นต้องเป็นปุ่มแก้ไข นี่ไม่ใช่เมาส์โอเวอร์ JavaScript อย่างเป็นทางการดังนั้นเบราว์เซอร์ของคุณอาจเลือกที่จะแสดงมันในวิธีที่แตกต่างจากที่ฉันเห็นหรืออาจจะไม่แสดงเลยก็ได้ ในกรณีดังกล่าวคุณสามารถดูแหล่งที่มา HTML และคุณจะสังเกตเห็นว่าในแท็กของแถวมุมมองที่คุณกำลังดูมีแอตทริบิวต์ชื่อเรื่องที่จะอ่านคล้าย ๆ กัน

หากคุณต้องการชื่อเครื่องของจอแสดงผลภายในมุมมองนั่นเป็นเรื่องง่ายกว่าเล็กน้อย นั่นคือในบล็อกขั้นสูงของอินเทอร์เฟซการแก้ไขมุมมอง มันอยู่ในนั้นบางแห่งและมีป้ายกำกับว่า "machine_name" ดังนั้นจึงไม่มีเทคนิคพิเศษที่จะเปิดเผย ไม่เหมือนกับชื่อเครื่องของมุมมองคุณสามารถเปลี่ยนชื่อนี้ได้

แล้วคุณจะทำอย่างไรถ้าคุณต้องการเปลี่ยนชื่อเครื่องของมุมมอง? ทีนี้คุณอาจจะมีปัญหากับฐานข้อมูลและแก้ไขมันด้วยตัวเองเพื่ออัพเดทชื่อเครื่องทุกที่ที่มันใช้ แต่นี่เป็นปัญหาของฉันมากเกินไป มีวิธีที่ง่ายกว่ามาก เพียงคัดลอกมุมมองของคุณและตั้งชื่อเครื่องที่คุณต้องการจริงๆ หลังจากโคลนแล้วคุณสามารถลบต้นฉบับที่มีชื่อเครื่องผิด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.