GÜNCELLEŞTİRME (01/17/08): Bu blog girişi daha fazla köprüyü XSL iyilik hakkında görüşmeler: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Genel bakış ve amaç: Ben bir kontrol panelinde bileşeni olarak hizmet etmek için basit bir çubuk grafik yaratmıştı. Grafik başka bir yazı için bina ayrıntıları kaydetmek gerekir, Ama ben bu tekniği icat etmedi (ne de soru işareti, Bu konuda). Grafikte ve ben sabit iken bir hata olduğu çıktı, Alttaki liste grafiğin arkasında işaret köprüler bazı Etiketler dönüştürmek için fırsat aldı. Örneğin, "Tut" değeri olan bir etiket olduğunu. Böylece kullanıcı tıkırtı üstünde o ve durum değeri "Tut" olan listedeki belirli girdileri aşağı matkap etiketi köprü açmak istedim.
Adımları:
- Kullanmak için visual studio SharePoint uyumlu IntelliSense.
- DVWP'ın XSLT visual Studio'ya kopyalayın (boş bir proje oluşturma, bir XSL dosyası projeye ekleyin).
- Pano kullanmak istediğiniz bağlantı Kopyala.
- XSL doğru konuma yapıştırın.
- URL bağımsız değişkeni ayırıcıları Tarih ve sorgu dizesindeki değiştirmek"&" "&"
- URL-encode bireysel değişkenleri.
- İçerideki şal bir <bir href…> </bir>
Örnek:
I-si olmak bir URL:
http://[sunucu]/[Site]/Lists/Open Positions/AllItems.aspx?Görünüm ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 işveren =&FilterValue1 tut =
İçine dönüştürmek:
<bir href="Lists/Open Positions/AllItems.aspx?Görünüm = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&FilterField1 işveren =&FilterValue1 tut ="> Basılı tutun: </bir>
El ile ilk bağımsız değişkenden dönüştürülmüş:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
Hedef:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d
(Bunun içinde, Dönüşümler %7 d % 7b için Açık ayraç dönüşümler ve Kapanış ayracı)
İkinci ve üçüncü bağımsız değişken’ parametreleri ("FilterField1 =İşveren" ve "FilterValue1 =Basılı tutun" sırasıyla) Çünkü onlar güvenli olmayan herhangi bir karakter içermeyen url olarak kodlanmış olması gerekmez.
Notlar:
Bu teknik genellikle köprü nerede köprünün URL parametreleri içerir XSLT'de katıştırmak istediğiniz her yerde çalışması gerekir:
http://[sunucu]/[Site]/Lists/Open Positions/AllItems.aspx?Görünüm ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 işveren =&FilterValue1 tut =
Özel listeyi erişim ve durum sütunu el ile filtre uygulama URL'si var (Etiketlenmiş "işveren" yukarıda).