Бърз и лесен: Вграждане на хипервръзка в web част XSLT

АКТУАЛИЗИРАНЕ (01/17/08): Този блог влизане говори за повече хипервръзка XSL доброта: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Преглед и цел: Съм създал проста стълбовидна диаграма да служи като елемент на табло. Ще запишете детайлите за изграждане на диаграми за друг пост, но аз не измислям тази техника (нито въпросителен знак, за този въпрос). Оказа се, имаше един бъг в диаграмата и докато оправих това, Аз взех възможност да конвертирате някои етикети в хипервръзки, които посочи основните списъка зад графиката. За пример, има етикет със стойност "Hold". Исках да се превърне на етикета в хипервръзка, така че потребителят може да щракнете върху нея и пробия конкретни записи в списъка, чийто статут стойност е "Държи".

Стъпки:

  1. Използвайте visual studio за SharePoint-aware intellisense.
  2. Копирайте DVWP XSLT в visual studio (създаване на празен проект, Добавяне на XSL файл към проекта).
  3. Копиране на връзката, която искате да използвате в клипборда.
  4. Да го поставите на правилното място в XSL.
  5. Превръщам URL аргумент Сепаратори на низа на заявката от"&" "&усилвател;"
  6. URL-кодиране на отделните аргументи.
  7. Пренася тази в <a href…> </а>

Пример:

Аз имам URL:

HTTP://[сървър]/[сайт]/Lists/Open Positions/AllItems.aspx?Изглед ={84EEA2F5-121Б-40B7-946F-0FA704A1DAA1}&FilterField1 = работодател&FilterValue1 = задържане

Аз превръщам то в:

     <а HREF="Lists/Open Positions/AllItems.aspx?Изглед = % 7b84EEA2F5-121б-40B7-946F-
0FA704A1DAA1 %7 d&усилвател;FilterField1 = работодател&усилвател;FilterValue1 = задържане"> Задръжте: </а>

Ръчно са трансформирани първият аргумент от:

{84EEA2F5-121Б-40B7-946F-0FA704A1DAA1}

за да:

%7b84EEA2F5-121б-40B7-946F-0FA704A1DAA1 %7 d

(В този, отваряща фигурна скоба трансформации на % 7б и затваряне подпре трансформации на %7 d)

Втората и третата аргументи’ параметри ("FilterField1 =Работодател" и "FilterValue1 =Задръжте" съответно) не е нужно да бъде url кодиран, защото те не съдържат никакви опасни знаци.

Бележки:

Тази техника като цяло трябва да работи навсякъде, където искате да вградите хипервръзка в XSLT, където хипервръзката включва параметрите на URL като:

HTTP://[сървър]/[сайт]/Lists/Open Positions/AllItems.aspx?Изглед ={84EEA2F5-121Б-40B7-946F-0FA704A1DAA1}&FilterField1 = работодател&FilterValue1 = задържане

Аз имам себе си сайт от достъп до потребителския списък и ръчно филтриране на колоната състояние (надпис "работодател" по-горе).

6 мисли за "Бърз и лесен: Вграждане на хипервръзка в web част XSLT

  1. Пол Galvin

    Кристина, този 84EE.. е GUID, който идентифицира списъка вътрешно. Можете да го получите чрез издърпване нагоре изглед във вашия браузър и проверка на URL адреса на вашия браузър.

  2. Кристина Перес Otaiza

    къде или как да се генерират този код "84EEA2F5-121б 40B7-946F-0FA704A1DAA1′

    Може да бъде възможно да се направи това …&FilterField1 = работодател център &FilterValue1 = притежават CE / ASM?

    Или
    Трябва ли да се премахне разстоянията между тях?

  3. Ерик Андерсън
    Имате ли някакви предложения за ситуацията, която искате да премине на данни от списък на SharePoint като стойност на FilterValue1, и когато стойността в колоната може да съдържа амперсанд? (Опитах многобройни начини за кодиране/бягство на стойността, но не съм като много от късмета в разпространява правилно.)
  4. Костас Tsaklas
    Видях примера в бюрото за помощ за прилагане в "fab 40'. Проблемът не знам как той е бил генериран и Ето защо аз гледам напред към стъпките за това как да го направя
  5. Пол Galvin
    Аз не го измислям, но това е странно колко трудно е да се намери.
    Дойдох в един функционален пример за това мисля, че един от "fab 40" шаблони.
    Това е web част с XSLT, която генерира графика. Определено смятам да направя пост за него.
  6. Костас Tsaklas
    Аз гледам напред към пост относно създаването на диаграма. Аз търсех за повече информация за това как да създавате диаграми, въз основа на списъци (например отворени, затворени въпроси, проценти и др.) и не мога да намеря някой. Благодаря

Оставете отговор

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *