โปรแกรมปรับปรุง (01/17/08): รายการ blog นี้พูดคุยเกี่ยวกับการเชื่อมโยงหลายมิติมากกว่าความดีของ XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
ภาพรวมและวัตถุประสงค์: มีสร้างแผนภูมิแท่งอย่างง่ายเป็นส่วนประกอบบนแดชบอร์ด. ฉันจะบันทึกรายละเอียดในการสร้างแผนภูมิสำหรับการโพสต์ที่อื่น, แต่ฉันไม่ได้แต่งที่เทคนิค (หรือเครื่องหมายคำถาม, สำหรับเรื่องที่). มันเปิดออกมีข้อผิดพลาด ในแผนภูมิ และใน ขณะที่ฉันคงที่, ผมเอาโอกาสแปลงป้ายชื่อบางอย่างเป็นการเชื่อมโยงหลายมิติที่ชี้ไปที่รายการอยู่ในกราฟ. ตัวอย่าง, มีป้ายชื่อ ด้วยค่า "ค้าง". อยากเปลี่ยนชื่อการเชื่อมโยงเพื่อให้ผู้ใช้สามารถคลิกที่มัน และลึกรายการในรายการที่มีค่าสถานะเป็น "เก็บ".
ขั้นตอนต่อไป:
- ใช้ visual studio สำหรับ intellisense sharepoint ทราบ.
- คัดลอก XSLT ของ DVWP ใน visual studio (สร้างโครงการเปล่า, เพิ่มไฟล์ XSL เพื่อโครงการ).
- คัดลอกการเชื่อมโยงที่คุณต้องการใช้ลงในคลิปบอร์ด.
- วางลงในตำแหน่งที่ถูกต้องใน XSL.
- แปลง URL แยกอาร์กิวเมนต์ในสายอักขระแบบสอบถามจาก"&" ถึง"&แอมป์;"
- เข้ารหัส Url แต่ละอาร์กิวเมนต์.
- ตัดภายในที่มี <a href…> </การ>
ตัวอย่าง:
มี URL:
http://[เซิร์ฟเวอร์]/[เว็บไซต์]/Lists/Open Positions/AllItems.aspx?มุมมอง ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 =ผู้จัดการหน้าใหม่&FilterValue1 =ค้าง
ผมแปลงเป็น:
<การ href="Lists/Open Positions/AllItems.aspx?ดู =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&แอมป์;FilterField1 =ผู้จัดการหน้าใหม่&แอมป์;FilterValue1 =ค้าง"> กดค้างไว้: </การ>
ผมเองได้เปลี่ยนอาร์กิวเมนต์แรกจาก:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
ถึง:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d
(ในที่นี้, แปลงวงเล็บปีกกาเปิดให้% 7b และปิดรั้งแปลงไป %7 d)
อาร์กิวเมนต์ที่สอง และสาม’ พารามิเตอร์ (" FilterField1 =ผู้จัดการหน้าใหม่" และ " FilterValue1 =กดค้างไว้" ตามลำดับ) ไม่จำเป็นต้องเข้ารหัส url เพราะพวกเขาไม่ประกอบด้วยอักขระใด ๆ ปลอดภัย.
หมายเหตุ:
เทคนิคนี้ควรโดยทั่วไปทำงานที่ใดก็ได้ที่คุณต้องการฝังการเชื่อมโยงหลายมิติใน XSLT ที่มิติรวมพารามิเตอร์ใน URL เช่น:
http://[เซิร์ฟเวอร์]/[เว็บไซต์]/Lists/Open Positions/AllItems.aspx?มุมมอง ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 =ผู้จัดการหน้าใหม่&FilterValue1 =ค้าง
ผมมี URL เอง โดยการเข้าถึงรายการที่กำหนดเอง และกรองข้อมูลในคอลัมน์สถานะด้วยตนเอง (ผู้จัดการหน้าป้าย "ใหม่" ข้างต้น).