yuriburger.net.

Alle ting Office 365, Azure, Docker, ALM, Blockchain og Umbraco!

& Ldquo; Code-lett & rdquo; modifikasjoner for SharePoint 2010: Del 2, den egendefinerte Content Query Web Part Item Style.

Jeg har alltid onsket a gjore en serie om enkelt a bygge, virkelige kunders foresporsler om SharePoint-modifikasjoner. Og som med de fleste ideer, fant jeg aldri tid til a gjore det. Na, det er sa bra en tid som noen!

Sa her er del 2, den egendefinerte Content Query Web Part Item Style.

Aaahh, Web Query Web Part eller CQWP for kort. Den sveitsiske h rkniven ingen ekte SharePoint-losningarkitekt kan gjore uten. Hvis du ikke er kjent med Content Query Web Part i SharePoint, er det en liten introduksjon. Jeg vil ikke ga i dybden pa alle de forskjellige avanserte alternativene du kanskje har konfigurert CQWP, fordi det er mange gode artikler om det der ute. Jeg fokuserer pa hvordan du vil pakke og distribuere en slik tilpasning ved hjelp av Visual Studio 2010.

Introduksjon.

Webkomponenten Content Query (CQWP) ble forst introdusert i SharePoint MOSS 2007. Det gjor det mulig a sporre og presentere SharePoint-data pa en sv rt fleksibel og tilpassbar mate, og regnes som en av de viktigste webdelene i SharePoint. Det kan rulle opp SharePoint-elementer:

Gjennom hele nettstedet ditt samling. Pa et bestemt nettsted og alle dets underomrader. I en bestemt liste.

For eksempel, si at du vil gjore en aggregering («roll up») av alle nyhetsartikler fra nyhetssiden din og vise de nyeste 3 med et miniatyrbilde pa hjemmesiden din? Enkelt med hjelp av CQWP:

Du starter med a konfigurere CQWP gjennom innstillingene i verktoylinjen Web del.

Sporringsdelen bestemmer hvor du vil fa varene dine fra:

Kilde: omfanget av sporringen. Liste Type: velg listen type elementene dine er i. I dette tilfellet velger vi Pages Library fordi vare nyhetsartikler er basert pa Publiseringssider lagret i standard Pages-biblioteket. Innholdstype: Vi vil bare returnere artikkelsider og ikke webpartsider.

Presentasjonsdelen bestemmer hvordan elementene presenteres pa siden:

Gruppering og sortering: snakker for seg selv. Vi velger 3 varer, sortert etter artikkel dato synkende. Stiler: Gruppestilen brukes nar vi grupperer elementene og ikke brukes i dette eksemplet. Elementstilen er den mest interessante delen og kontrollerer hvordan elementene gjengis. Det er flere alternativer, sa sorg for a sjekke dem alle ut. For na velger vi standard «Bilde pa venstre».

Felt som skal vises:

Denne delen er en ny funksjon av CQWP i SharePoint 2010. Disse feltene kalles «Slots» og brukes til a binde elementfelt til XSL-egenskaper. Hver element stil mal kan ha sitt eget sett med konfigurerbare felt.

Tilpasning.

Dette innlegget handler om a konfigurere og tilpasse CQWP hvis du ikke er * som * fornoyd med standardoppforselen til de tilgjengelige elementformatene. Min mest etterspurte stil, for eksempel, er ikke tilgjengelig ut av boksen:

tittelen pa toppen av bildet til venstre, like under tittelen forkortet til hoyre for bildet, de forste 200 tegnene i artikkelinnholdet, under bylinjen, leser du en lenke.

Standard CQWP far sin konfigurasjon fra filer i Site Collection Style Library. Disse filene deles blant alle standard innholdsdeler for webomrader pa nettstedet ditt. La oss se n rmere pa disse filene, og den beste maten a gjore dette pa, er a bruke SharePoint Designer. Bare apne nettstedet ditt og naviger til delen Alle filer. Her finner du Style Library med XSL Style Sheets:

Filen vi er interessert i er ItemStyle.xsl. Hvis du tar en titt pa innholdet i denne filen, finner du flere & lt; xsl: template & gt; elementer som tilsvarer de forskjellige stilalternativene du ser konfigurere CQWP. Navnene pa malen skal for det meste snakke for seg selv. Et unntak kalles «Bilde venstre» «Standard».

Viktig: Hvis du ikke er kjent med XSL, vil du kanskje lese om emnet. Vi holder var tilpasning ganske enkel, sa du trenger bare en grunnleggende forstaelse.

Vi kunne selvfolgelig endre OOTB-filen ved a bruke SharePoint Designer og opprette var tilpasning pa den maten. Og det er et perfekt stottet scenario, men med tre store ulemper:

Dette er en OOTB-fil, og hvis den er endret, lagres den i innholdsdatabasen. Hvis noen velger a tilbakestille den til nettsteddefinisjonen, vil alle endringene ga tapt. Sameksistens med andre programmer kan v re vanskelig siden du ma dele standard ItemStyle.xsl blant dem. Hvis du odelegger standardelementet ItemStyle.xsl, kan det pavirke andre webomrader for innholdssok i nettstedssamlingen.

Sa den beste maten a lose disse problemene pa er a levere vart eget stilark med var Web Part.

For a starte, opprett en Visual Studio 2010 Empty SharePoint-losning. Siden vi ikke har en forsamling som trenger Full Trust (se mitt tidligere innlegg om Sandbox-losninger), velger vi en sandboxed losning.

Legg til en SharePoint-modul:

Nar modulen er lagt til i prosjektet, slett du Sample.txt.

Deretter legger vi til XSLT stilark: Legg til nytt element / data / stilark. Husk a gi den en .xsl-utvidelse i stedet for .xslt for a v re i trad med OOTB SharePoint-filer.

Din losning bor na se slik ut:

Mitt neste skritt er a kopiere innholdet til OOTB-filen i min nye fil for a begynne med.

Apne standardfilen i SharePoint Designer og svar «Nei» pa sporsmalet om du vil sjekke filen ut (se nedre side nr. 1). Kopier og lim inn innholdet i den nye filen i Visual Studio, og fjerner det nav rende innholdet i filen.

Du har na laget en kopi av OOTB-filen, og er klar til a lage din egen gjengivelsesmal (den faktiske CQWP-elementstilpasningen).

For a gi deg selv en start, er det enklest a kopiere en lignende. I dette tilfellet ville det v re «Image Left», som kalles «Standard» i ItemStyle.xsl. Bare kopier og lim inn den komplette malen (alt mellom og inkludert & lt; xsl: malnavn = Standard & # 8221; match = & # 8221; * & # 8221; modus = & # 8221; elementstil & # 8221; & gt; ; og & lt; / xsl: mal> tagger).

Gi nytt navn til var mal til noe som «ImageWithArticleContent» og erstatt jokertegnet («*») med var spesifikke stil.

& lt; xsl: malnavn = & # 8221; ImageWithArticleContent & # 8221; match = & # 8221; Row [@Style = & # 8217; ImageWithArticleContent & # 8217;] & # 8221; mode = & # 8221; itemstyle & # 8221; & gt;

Det neste trinnet er a omorganisere malen for a matche var forespurte design. I utgangspunktet starter det bare med tittelen og bildet og til slutt Byline («beskrivelse»). Vi legger til en ny eiendom «Innhold» og viser de forste 200 tegnene og Les mer-lenken. Fordi vi legger til en eiendom, vil det bli opprettet et nytt spor i CQWP-verktoykassen som vi vil se senere.

Viktig: Fordi vi slar av produksjonen, kan vi potensielt la apne HTML-koder! Se dette innlegget om en losning.

Dessverre er det ingen SharePoint GUI-mate a knytte var egendefinerte Art Style til Web Query Web Part. Veien rundt dette er a distribuere en forhandskonfigurert Web Part-fil med var losning.

Legg til en webdel i prosjektet vart:

Slett webdel-klassefilen, siden vi bare er interessert i .webpart-filen.

Legg til en tom (ikke konfigurert) CQWP til din SharePoint-side og eksporter denne webdelen.

Apne den eksporterte filen i notisblokk eller Visual Studio, og kopier innholdet.

Lim inn dette i .webpart-filen i vart Visual Studio-prosjekt.

Sett tittel og beskrivelse til de nodvendige verdiene. Sett ItemLimit til 3.

Endre egenskapen ItemXslLink for a knytte var tilpassede stilark:

Endre PropertyStyle-egenskapen for a matche var tilpassede stil:

Viktig: siden losningen var ikke trenger en montering, ma vi ekskludere den fra pakken. Velg prosjektet ditt og sett inn «Inkluder samling i pakke» til falsk.

Vi kan na distribuere losningen og teste arbeidet vart.

Du kan laste ned Visual Studio 2010-losningen her.

Dele denne:

I slekt.

26 kommentarer.

ehh & # 8230; hvordan distribuerer jeg det til delingspunkt 2010 & # 8211; trenger jeg a kompilere losningen eller?

Det er ikke nodvendig a kompilere dette, siden det ikke er noen kode bak / montering. Du trenger bare a pakke og distribuere losningen fra Visual Studio eller distribuere wsp-enheten selv.

Den andre nyhetsartikkelen er oppfort i fet skrift og # 8230; ..

HTML gjengitt kommer fra artiklene og er normalt ikke endret av CQWP. Viser den gjengitte HTML-kilden noen spor om hvorfor den er fet?

Men hvordan lager jeg WSP? & # 8211; Jeg DL the.zip filen ..og der er ingen .WSP i den ..

Kunne v re at artikkelen er arsaken & # 8211; & # 8230; Jeg synes det var bra pa siden skjont.

Visual Studio & # 8220; Package & # 8221; kommandoen skaper denne WSP for deg, og du bor kunne finne denne filen pa disk i Visual Studio Project-strukturen.

Ok takk & # 8230; Jeg ma forst installere SP pa min lokale maskin sa … bare ha den i VM uten Visual Studio & # 8230 ;.

Mayby du kan laste opp wsp-filen til skydrive?

Dette er et interessant innlegg, jeg har bygd xsl-filer for a fa en lignende effekt i SPD. Har du noen ide om hvordan du automatisk genererer & # 8220; Legg til nytt element & # 8221; lenke ved hjelp av XSL?

Hei, dette er noe du sannsynligvis ikke vil gjore i ItemStyle.xsl (siden dette ville bli gjengitt for hvert element i soket ditt). Du kan imidlertid gjore dette i de andre xsl-filene eller i en CEWP like under CQWP. Du kan konstruere denne lenken ved hjelp av javascript for eksempel, men den faktiske koden avhenger av typen artikkel. Denne koden jeg brukte til a opprette nye artikkelsider:

funksjon silentCallback (dialogResult, returnValue)

funksjonen refreshCallback (dialogResultat, returnValue)

Jeg ser, jeg antar at du kan opprette nyhetsadressen ved hjelp av klientobjektmodellen for a hente nettstedssamlingen / subsite, etc & # 8230;

Det er interessant, jeg kan se sa mye potensial til a tilpasse SharePoint uten a bruke server-side kode. Takk for innlegget ditt.

Jeg ma hoppe over forste elementet fra listen. Jeg bruker Web Query Web Part for a vise listen over alle iems fra siden Sider-mappen. Jeg trenger elementet publisert sist nyere show. Vennligst hjelp.

Forst ma du v re sikker pa at det ikke er noen annen mate a utfore denne oppgaven, kanskje gjennom sortering / filtrering? Hvis du virkelig trenger a hoppe over det forste elementet under XSLT-behandling, vil det bety at du ogsa ma levere et egendefinert ContentQueryMain.xslt. Dette stykket XSLT er ansvarlig for den generelle merkingen av CQWP og er klar over hvilken rad som behandles.

Hvis det bare er kostmetikk, kan du kanskje skjule forste rads kundeside?

Haper dette hjelper,

Tusen takk for din tid og rad. Jeg sotred problemet na.

Fungerer dette .spsp Blogginnlegg for SP 2010?

Visst, velg bare innholdstypen & # 8220; Post & # 8221; fra webdelegenskapene. Du ma kanskje justere XLST etter eget onske hvis du trenger et annet layout. Du ma ogsa avgjore hva rollup-bildet ma v re. Haper dette hjelper,

Hva trenger jeg a endre i det ovennevnte for a fa de samme resultatene som ruller opp blogginnlegg fra subsites? Jeg har sokt etter denne losningen i en stund, og alt jeg finner pa nettet virker ikke a virke (jeg tror de fleste er mer gyldige for 2007 og ikke sa mye SP2010). Hvert eksempel pa xsl maler og mods til webpart-fil Jeg har provd bare gjennom-feil for alle og alle CQWP). Ingen ser ut til a fungere; vennligst hjelp!

Ikke sikker pa hvorfor din webpart ville kaste feil hvis XSL er riktig. Gjor et normalt (umodifisert) CQWP-arbeid, fordi det burde kunne rulle opp fra underlag bare bra?

Hei, jeg fikk en feil som sier at OuterTemplate.GetSafeLink ikke eksisterer.

Noen kan hjelpe pa dette?

Hei, jeg har et problem. Nar jeg distribuerer denne losningen til GAC, har jeg feilen som sier: & # 8220; Webdelen refererer til en usikker XSL-fil. Kun XSL-filer som finnes pa dette nettstedet, er nettstedbibliotek, og kan v re referanser. & # 8221;

Jeg har funnet ut en losning for dette: & # 8220; Den endelige tingen a gjore er a legge til en funksjonshendelsesmottaker. Hvorfor? Fordi av en eller annen grunn nekter en publiseringsstedsamling ellers a la den egendefinerte CQWP bruke den egendefinerte xsl-filen, informere om at den ikke er klarert. Sa denne funksjonen mottaker korrigerer dette problemet ved a spesifikt tildele sitecollection url for webparten. & # 8221;

Har du brukt lagsted i dette eksemplet? Er det noen annen losning for dette problemet?

Takk for at du sendte inn denne artikkelen, det er veldig hjelpsomt

Dette kan skyldes maten du refererer til XSLT-filen i din .webpart-fil. Pass pa at du bruker en relativ sti til XSLT-filen slik: /Style%20Library/Xsl/CustomItemStyle.xsl.

En funksjonsmottaker skal ikke v re nodvendig, sa forhapentligvis hjelper dette.

Dette er akkurat det jeg vil, men nettstedet mitt trenger a ha 4 miniatyrbilder. Jeg er virkelig ny for a dele og slite meg selv. Jeg setter pris pa at jeg ma legge til flere forekomster av & # 8220; safeimageurl & # 8221 ;, sa & # 8220; safeimageurl2 & # 8221; ?? men hva mer?

Du ma justere elementbegrensningen fra egenskapene Web del hvis du trenger a vise flere elementer.

Har bloggen din en kontaktside? Jeg har en vanskelig tid a finne den, men jeg vil sende deg en e-post.

Jeg har noen forslag til bloggen din, du kan v re interessert i a hore. Uansett, flott blogg og jeg gleder meg til a se det bedre over tid.

Hei, takk for at du besokte. Du kan DM meg pa twitter (sa hvis du folger meg, vil jeg folge deg tilbake). / Y.


Vil du spille i det beste kasinoet? Vi fant det for deg. Registrer deg nå!