SharePoint, Power Platform Blog STRONA GŁÓWNA

Zmiana wyglądu w domyślnym widoku AllItems.aspx w SharePoint Designer 2013

Jak wszyscy już chyba wiedzą SharePoint Designer 2013 to kilka niespodziewanych braków wybranych funkcjonalności znanych z poprzednich wersji, takich jak np. brak widoku projektowania. Dla zarządzania wyglądem widoków, to oznacza wykluczenie z grona projektantów tych osób, które nie znają przynajmniej kodu HTML.

Jeżeli jednak nie boimy się kodu, to nadal posiadamy dostęp do wielu przydatnych funkcji. Jedną z takich funkcji jest zestaw ikon w zakładce narzędzi widoku danych

undefined

Tu jednak czeka na nas niespodzianka. Po przejściu do edycji domyślnego widoku AllItems.aspx i kliknięciu myszką w kod składnika Web Part odpowiedzialnego za prezentację widoku, na wstążce narzędziowej ... nie pojawia się oczekiwany zestaw narzędzi.  

Mamy 2 rozwiązania:

1. Kasujemy istniejący składnik Web Part widoku allItems, tworzymy nowy i już wszystko działa. To rozwiązanie mimo, że daje oczekiwany rezultat, to z punktu widzenia zdrowego rozsądku jest ... bez sensu.

2. Innym rozwiązaniem jest niewielka modyfikacja kodu składnika. W kodzie szukamy parametru ClientRender="True" i zmieniamy na ClientRender="False".  Zapisujemy zmiany i od tej chwili opcje narzędzi widoku danych będą już dostępne.

Jak w polu lookup filtrować wyświetlane elementy

Opis sytuacji: 

Prowadzimy wypożyczalnie książek i chcemy mieć listę wszystkich rezerwacji

Mamy dwie listy,

1. Pierwsza z nich to ta na której mamy spis wszystkich książek

undefined

2. Druga zawiera formularz rezerwacji pokoju, przy czym jednym z pól formularza jest odnośnik (pole typu lookup) do listy książek

undefined

Konkretne zadanie brzmi więc tak: Jak zrobić, żeby w tym polu, w liście rozwijanej pojawiały się tylko te książki, które nie są wypożyczone ?.

Krok 1 - Na liście zawierającej nasz spis, tworzymy kolumnę obliczeniową, która będzie zawierała odpowiednią treść w zależności od statusu książki

undefined

w polu definiowania warunku wpisujemy:

=JEŻELI(Status="Dostępna";Tytuł;"")

 Dzięki temu warunkowi kolumna będzie pusta dla książek wypożyczonych.

 

Krok 2 - Na liście wypożyczeń, w kolumnie  zamieniamy mapowanie pola z 'Tytuł' na 'Dostępne książki'

undefined

Od tej chwili w polu wyboru książki, na formularzu wypożyczenia, będą widoczne tylko te pozycje, których status jest równy "Dostępna".

Żeby aplikacja miała większy sens funkcjonalny, pozostaje opracowanie procesów worfklow, które w tle aktualizują statusy książek, w przypadku wpisania rezerwacji bądź w przypadku zwrotu książki. 

Jak przywrócić Obszar roboczy spotkania

Czasem zdarza się, że ktoś korzystając z jednej funkcji SharePoint'a tak się do niej przyzwyczaja, że potem, kiedy brakuje jej w nowszej wersji tej platformy bardzo za nią tęskni. Co wtedy zrobić? Napisać swoją wersję? 

Jedną z "nowości" SharePoint'a 2013 jest brak checkboxa "Obszar roboczy" na formularzu listy typu Kalendarz. Dobra wiadomość jest taka, że wprawdzie funkcja została przez Microsoft wycofana ale sama funkcjonalność została i można ją przywrócić (o ile ktoś akurat tego elementu potrzebuje).

undefined

- Do You miss "Obszar roboczy"
- Yes, I do!

W takim razie do dzieła, ale trzeba mieć prawa administracyjne.

1. Na serwerze przechodzimy do katalogu C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\1045\XML

2. W notatniku otwieramy plik webtemp.xml

3. Szukamy sekcji dotyczącej szablonów MPS (Template name="MPS")

undefined

 4. I zmieniamy atrybut Hidden na False

undefined

Nie przywróci to naszego "Checkboxa" ale wśród szablonów przy tworzeniu nowych witryn pojawi się Obszar roboczy spotkania.

 

Content Query Web Part (CQWP) – Jak zrobić nagłówek i stopkę

Content Query Web Part (CQWP) jest to bez wątpienia narzędzie z ogromnym potencjałem. Czasem warto pogrzebać odrobinę w kodzie, żeby osiągnąć lepszy efekt wizualny wyników prezentacji danych. 

Poniżej opisujemy w jaki sposób utworzyć własny szablon wyglądu danych, w którym zdefiniujemy również własny nagłówek oraz stopkę dla elementów listy typu Kontakty. 

 1. Plik zawierający style

Najpierw pobieramy plik obsługujący style CQWP, czyli ItemStyle.xml, który znajduje się w witrynie głównej, w bibliotece "Biblioteka stylów" w katalogu "XML Style Sheets" (w zbiorze witryn powinna być włączona funkcja infrastruktury publikowania)

undefined

2. Tworzymy własny styl

Otwieramy plik "ItemStyle.xml", przechodzimy na koniec pliku, tuż przed </xsl:stylesheet> i wklejamy poniższy kod (ewentualnie zmieniając z MojWidok na nową nazwę i identyfikator nowego szablonu )

<xsl:template name="MojWidok" match="Row[@Style='MojWidok']" mode="itemstyle">
<xsl:variable name="DisplayTitle">
<xsl:call-template name="OuterTemplate.GetTitle">
<xsl:with-param name="Title" select="@Title"/>
</xsl:call-template>
</xsl:variable>
 
<!-- KOD -->
 
</xsl:template>

  

3. Przed znacznikiem </xsl:template> wstawiamy kod, która wyświetla elementy listy Kontakty

<!-- KOD -->
<div><xsl:value-of select="@FirstName"/>&#160;|&#160;<xsl:value-of select="@Title"/>&#160;|&#160;<a href="mailto:{@Email}"><xsl:value-of select="@Email"/></a></div>

 

4. Wstawiamy własny nagłówek

Przed kodem wyświetlającym elementy, wklejamy warunek, sprawdzający numer iteracji

<!-- First row -->
<xsl:if test="count(preceding-sibling::*)=0">
<div><B>LISTA KONTAKTÓW</B> (Imię, Nazwisko, Adres email)</div>
</xsl:if>
<!-- End First row -->

 

5. Wstawiamy własną stopkę

Pod kodem wyświetlającym elementy, wklejamy warunek, sprawdzający numer iteracji

<!-- Last row -->
<xsl:if test="count(following-sibling::*)=0">
<div>
<div>
<a href="/Lists/Kontakty">zobacz wszystkie »</a>
</div>
<br/>
</div>
</xsl:if>
<!-- Last row -->

gdzie zamiast /Lists/Kontakty, wstawiamy własny adres do listy Kontaktów

 

6. Zapisujemy zmiany i sprawdzamy efekt

Zapisujemy plik i zamieszczamy go do Biblioteki stylów. 

Konfigurujemy Content Query Web Part

undefined

i sprawdzamy rezultat

undefined

 

PS. Content Query Web Part (CQWP) nie jest dostępny w wersjach Foundation

Nowsze wpisy → Home