SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Spalte mit mehreren Personenverlinkung

Unbeantwortet Dieser Beitrag hat 14 Antworten

Ohne Rang
23 Beiträge
JuliaPulsion erstellt 9 Jan. 2017 09:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community,

ich hoffe Ihr könnt mir weiterhelfen! Ich möchte gerne eine Spalte genannt Autoren erstellen, in der man mehrere Personen angeben kann? (Also mit Verlinkung und Bild!)

In SharePoint gibt es ja die Möglichkeit eine Personenspalte einfach zu erstellen. Jedoch kann man dann nur eine Person angeben! Ist es möglich, dass man mehrere Personen in die Spalte eintragen kann?

Vielen lieben Dank

Beste Grüße

Julia

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Jan. 2017 10:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bei den Personenspalten gibt es eine Auswahlmöglichkeit "Mehrfachauswahl zulassen". Das ist genau das, was Du suchst.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
23 Beiträge
JuliaPulsion Als Antwort am 9 Jan. 2017 13:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Aaaah Danke - ja stimmt! Ziemlich simpel, da hätte ich auch selber drauf kommen können. Die Personen zeigt es mir jetzt alle an in meiner Liste.

Ich möchte aber auch, dass sie im Webpart angezeigt werden. Ich habe eine Blogseite erstellt und das Webpart Beiträge eingefügt. SharePoint hat eine schon vorgefertigte Ansicht dafür schon bereitgestellt.

Rufe ich die Webparteigenschaften auf, zeigt es mir für die gewählte Ansicht <Aktuelle Ansicht> an.

Ich würde die Ansicht eigentlich gerne so beibehalten

In der Ansicht wird ja der Titel, der Textkörper, Das Erstelldatum angezeigt und von wem der Beitrag erstellt wurde. Ich würde aber gerne zusätzlich meine Autoren auflisten lassen an Stelle "Erstellt von".

Kann ich das irgendwie ändern?!

Danke

Lg Julia

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Jan. 2017 15:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich weiß tatsächlich nicht, ob das bei 2013 immer noch so ist, nehme es aber stark an. Die Ansicht wird per XSLT erzeugt und das kann man mit Hilfe von SharePoint Designer bearbeiten. Leider ist das nicht ganz einfach, weil man zum einen XSLT kennen muß und weil zum anderen SharePoint Designer eher suboptimal ist.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
212 Beiträge
Roland Als Antwort am 11 Jan. 2017 12:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Julia,

wenn Du auf Webpart bearbeiten gehst und unter Listenansichten deine <Aktuelle Ansicht> findest, so steht direkt darunter "Aktuelle Ansicht bearbeiten" (anklicken). Dann wählst du einfach den Spaltennamen aus, welcher deine Personen enthält.

VG Roland

Ohne Rang
23 Beiträge
JuliaPulsion Als Antwort am 12 Jan. 2017 09:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Roland,

bei normalen Ansichten funktioniert das. Bei dieser speziellen von SharePoint vorgefertigten Ansicht steht aber leider nicht darunter "Aktuelle Ansicht bearbeiten". Ich weiß leider auch nicht wieso.

Ich denke man kann die Ansicht nur mit Hilfe des SharePoint Designers ändern, wie Andi schon angedeutet hat?!

Ich habe den SharePoint Designer - kenne mich aber nicht mit XSLT aus. Könnte mir jemand unter die Arme greifen und mir eine Step bei Step "Anleitung" geben, wie ich die Spalte "Erstellt von" ersetze durch meine Spalte "Autoren"

Oder kennt jemand noch einen anderen Weg außer über den SharePoint Designer?

Lg Julia

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Jan. 2017 09:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Öffne die Seite in SharePoint Designer und klicke dann irgendwo innerhalb des Webparts (das dürfte der einzige bearbeitbare Bereich sein). Oben im Ribbon findest Du unter Entwurf einen Button "XSLT anpassen und dort klickst Du auf gesamtes XSLT anpassen. Suche jetzt nach Author und Du solltest finden wo das derzeitige Feld ausgegeben wird. Das könnte ungefähr so aussehen:

<xsl:value-of select="$thisNode/@Author"/>

Ersetze das durch den internen Namen Deines Feldes und achte dabei auf Groß-/Kleinschreibung. Den internen Namen findest Du in der Adresszeile des Browsers, wenn Du in den Listeneinstellungen auf die Spalte klickst. Author ist z.B. der interne Name der Spalte Erstellt von.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
23 Beiträge
JuliaPulsion Als Antwort am 12 Jan. 2017 11:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe das Webpart gefunden und angeklickt. Leider gibt es bei mir aber nur folgende Ribbon: ....Bearbeiten und Format. Der Ribbon Entwurf ist bei mir nicht vorhanden? Ich finde den Button XSLT anpassen also nicht.

Ich benutze den SharePoint Designer 2013

 

Ohne Rang
212 Beiträge
Roland Als Antwort am 12 Jan. 2017 11:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

... klick mal auf einen Spaltenkopf in deiner Liste, dann taucht oben "Tools für die Listenansicht" auf.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Jan. 2017 12:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="JuliaPulsion"]Leider gibt es bei mir aber nur folgende Ribbon: ....Bearbeiten und Format[/quote]

Das kommt relativ oft vor und ist nur einer der gefühlten 10 Millionen Bugs, die dieses Stück "Software" hat. Klicke im Ribbon auf "Eigenschaften" und schließe den sich öffnenden Dialog mit OK oder Speichern oder wie das dort heißt. Jedenfalls nicht Abbrechen. Und siehe da, die fehlenden Reiter im Ribbon erscheinen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
23 Beiträge
JuliaPulsion Als Antwort am 12 Jan. 2017 13:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das hat geklappt! Bei mir ist jetzt der Ribbon Entwurf aufgetaucht.

Ich finde im Code nur folgende Zeile mit Author:

<FieldRef Name="Author"/> ersetze ich Author durch meinen internen Spaltenname Authors zeigt mir SharePoint auf der Webseite aber nicht die Autoren an sonder nur "[object Object]" ??

Hier der Code Ausschnitt:

<XmlDefinition>
     <View Name="{F5D378AD-231C-440C-8A57-826AE0B428E5}" Type="HTML" Hidden="TRUE" TabularView="FALSE" ReadOnly="TRUE" FreeForm="TRUE" ModerationType="HideUnapproved" DisplayName="" Url="/sites/ACTAdvMonitoring/Newsletter/default.aspx" Level="1" BaseViewID="0" ContentTypeID="0x" >
      <Query>
       <OrderBy>
        <FieldRef Name="PublishedDate" Ascending="FALSE"/>
        <FieldRef Name="ID" Ascending="FALSE"/>
       </OrderBy>
      </Query>
      <ViewFields>
       <FieldRef Name="Title"/>
       <FieldRef Name="Body"/>
       <FieldRef Name="Author"/>
       <FieldRef Name="PostedByWithDate"/>
       <FieldRef Name="CategoryWithLink"/>
       <FieldRef Name="Permalink"/>
       <FieldRef Name="EmailPostLink"/>
       <FieldRef Name="NumCommentsWithLink"/>
       <FieldRef Name="PublishedDate"/>
       <FieldRef Name="PostCategory"/>
      </ViewFields>
      <RowLimit Paged="TRUE">10</RowLimit>
      <JSLink>sp.ui.blogs.js</JSLink>
      <XslLink>blog.xsl</XslLink>
      <Toolbar Type="Standard"/>
     </View>
    </XmlDefinition>

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Jan. 2017 15:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das ist eine andere Stelle. Allerdings muß dort unter den FieldRef ebenfalls Dein Feld rein. Am Besten Du kopierst Dir einfach eine Zeile und änderst dann den Name entsprechend.

Allerdings solltest Du auch XSLT in der Seite finden. Hast Du den Hinweis von weiter oben befolgt und unter Entwurf auf gesamtes XSLT anpassen geklickt?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
23 Beiträge
JuliaPulsion Als Antwort am 12 Jan. 2017 15:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, den Hinweis mit Entwurf und XSLT gesamt anpassen habe ich befolgt. Der genannte Codeabschnitt mit XSLT und Author ist nicht ersichtlich zu erkennen. Ich denke man müsste den Code wo anders ändern?!

(Ich habe auch versucht unter dem Ribbon "Optionen" -> "Spalten hinzufügen/entfernen" meine Spalte sichtbar zu machen...Aber das hat auch nicht geklappt. Ich kann dadurch zwar die "Erstellt von" Spalte entfernen und sie wird nicht mehr angezeigt, aber wenn ich meine Autorenspalte hinzufüge wird diese nicht angezeigt....

Anbei der gesamte Code für das Webpart:

<WebPartPages:XsltListViewWebPart runat="server" ViewFlag="" ViewSelectorFetchAsync="False" InplaceSearchEnabled="True" ServerRender="False" ClientRender="False" InitialAsyncDataFetch="False" WebId="00000000-0000-0000-0000-000000000000" IsClientRender="False" GhostedXslLink="blog.xsl" ViewGuid="{DAC90EDA-7AC4-4383-AF63-A4553199EF12}" EnableOriginalValue="False" ViewContentTypeId="0x" ListName="{08667BD4-DB4C-49BD-A2E3-D6FAFCEA467C}" ListId="08667bd4-db4c-49bd-a2e3-d6fafcea467c" PageSize="-1" UseSQLDataSourcePaging="True" DataSourceID="" ShowWithSampleData="False" AsyncRefresh="False" ManualRefresh="False" AutoRefresh="False" AutoRefreshInterval="60" Title="Beitr&#228;ge" FrameType="None" SuppressWebPartChrome="False" Description="Verwenden Sie die Liste f&#252;r Beitr&#228;ge in diesem Blog." IsIncluded="True" PartOrder="2" FrameState="Normal" AllowRemove="False" AllowZoneChange="True" AllowMinimize="True" AllowConnect="True" AllowEdit="True" AllowHide="True" IsVisible="True" TitleUrl="/sites/ACTAdvMonitoring/Newsletter/Newsletter2/Lists/Beitraege" DetailLink="/sites/ACTAdvMonitoring/Newsletter/Newsletter2/Lists/Beitraege" HelpLink="" HelpMode="Modeless" Dir="Default" PartImageSmall="" MissingAssembly="Cannot import this Web Part." PartImageLarge="" IsIncludedFilter="" ExportControlledProperties="False" ConnectionID="00000000-0000-0000-0000-000000000000" ID="g_dac90eda_7ac4_4383_af63_a4553199ef12" AllowClose="False" ChromeType="None" ExportMode="NonSensitiveData" __designer:CustomXsl="Fldtypes_mswhTitle.xsl;fldtypes_Ratings.xsl" __MarkupType="vsattributemarkup" __WebPartId="{DAC90EDA-7AC4-4383-AF63-A4553199EF12}" __AllowXSLTEditing="true" WebPart="true" Height="" Width=""><ParameterBindings>
     <ParameterBinding Name="dvt_sortdir" Location="Postback;Connection"/>
     <ParameterBinding Name="dvt_sortfield" Location="Postback;Connection"/>
     <ParameterBinding Name="dvt_startposition" Location="Postback" DefaultValue=""/>
     <ParameterBinding Name="dvt_firstrow" Location="Postback;Connection"/>
     <ParameterBinding Name="OpenMenuKeyAccessible" Location="Resource(wss,OpenMenuKeyAccessible)" />
     <ParameterBinding Name="open_menu" Location="Resource(wss,open_menu)" />
     <ParameterBinding Name="select_deselect_all" Location="Resource(wss,select_deselect_all)" />
     <ParameterBinding Name="idPresEnabled" Location="Resource(wss,idPresEnabled)" />
     <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
     <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(core,noXinviewofY_DEFAULT)" />
     <ParameterBinding Name="AddNewAnnouncement" Location="Resource(wss,addnewitem)" />
     <ParameterBinding Name="MoreAnnouncements" Location="Resource(wss,moreItemsParen)" />
    </ParameterBindings>
<DataFields>
</DataFields>
<XmlDefinition>
     <View Name="{DAC90EDA-7AC4-4383-AF63-A4553199EF12}" Type="HTML" Hidden="TRUE" DisplayName="" Url="/sites/ACTAdvMonitoring/Newsletter/Newsletter2/default.aspx" Level="1" BaseViewID="0" ContentTypeID="0x">
      <Query>
       <Where>
        <And>
         <Leq>
          <FieldRef Name="PublishedDate"/>
          <Value Type="DateTime">
           <Today/>
          </Value>
         </Leq>
         <Eq>
          <FieldRef Name="_ModerationStatus"/>
          <Value Type="ModStat">0</Value>
         </Eq>
        </And>
       </Where>
       <OrderBy>
        <FieldRef Name="PublishedDate" Ascending="FALSE"/>
        <FieldRef Name="ID" Ascending="FALSE"/>
       </OrderBy>
      </Query>
      <ViewFields>
       <FieldRef Name="Title"/>
       <FieldRef Name="Body"/>
       <FieldRef Name="Author"/>
       <FieldRef Name="PostedByWithDate"/>
       <FieldRef Name="CategoryWithLink"/>
       <FieldRef Name="Permalink"/>
       <FieldRef Name="EmailPostLink"/>
       <FieldRef Name="PublishedDate"/>
       <FieldRef Name="PostCategory"/>
       <FieldRef Name="LikesCount"/>
       <FieldRef Name="LikedBy" Explicit="TRUE"/>
      </ViewFields>
      <RowLimit Paged="TRUE">10</RowLimit>
      <JSLink>sp.ui.blogs.js</JSLink>
      <XslLink>blog.xsl</XslLink>
      <Toolbar Type="None"/>
     </View>
    </XmlDefinition>
<xsl><xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" version="1.0" exclude-result-prefixes="xsl msxsl ddwrt" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:pcm="urn:PageContentManager" xmlns:ddwrt2="urn:frontpage:internal" xmlns:o="urn:schemas-microsoft-com:office:office" ddwrt:ghost="show_all">
  <xsl:include href="/_layouts/15/xsl/blog.xsl"/>
  <xsl:include href="/_layouts/15/xsl/internal.xsl"/>
       <xsl:param name="AllRows" select="/dsQueryResponse/Rows/Row[$EntityName = '' or (position() &gt;= $FirstRow and position() &lt;= $LastRow)]"/>
       <xsl:param name="dvt_apos">'</xsl:param>
     <xsl:template match="/" ddwrt:ghost="hide">
         <xsl:variable name="LastRowValue">
             <xsl:choose>
                 <xsl:when test="$EntityName = '' or $LastRow &lt; $RowTotalCount">
              <xsl:value-of select="$LastRow"/> 
            </xsl:when>
                 <xsl:otherwise>
              <xsl:value-of select="$RowTotalCount"/>
            </xsl:otherwise>
             </xsl:choose>
    </xsl:variable>
         <xsl:variable name="NextRow">
      <xsl:value-of select="$LastRowValue + 1"/>
    </xsl:variable>
      <xsl:choose>
          <xsl:when test="$ForRenderListData='1'">
      <rows>
        <xsl:variable name="Fields" select="$XmlDefinition/ViewFields/FieldRef[not(@Explicit='TRUE')]"/>
        <xsl:for-each select="$AllRows">
           <xsl:variable name="thisNode" select="."/>
         <xsl:variable name="ID">
             <xsl:call-template name="ResolveId">
                 <xsl:with-param name="thisNode" select ="$thisNode"/>
             </xsl:call-template>
        </xsl:variable>
          <row id="{$ID}">
            <xsl:for-each select="$Fields">
               <xsl:if test="./@XSLRender='1'">
                <field rowid="{$ID}" name="{./@Name}">
                   <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
                  <xsl:apply-templates select="." mode="PrintFieldWithDisplayFormLink">
                    <xsl:with-param name="thisNode" select="$thisNode"/>
                  </xsl:apply-templates>
                   <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
                </field>
              </xsl:if>
            </xsl:for-each>
          </row>
        </xsl:for-each>
      </rows>
    </xsl:when>
          <xsl:when test="$RenderCTXOnly='True'">
        <xsl:call-template name="CTXGeneration"/>
   </xsl:when>
         <xsl:when test="($ManualRefresh = 'True')">
        <xsl:call-template name="AjaxWrapper" />
   </xsl:when>
         <xsl:otherwise>
  <xsl:apply-templates mode="RootTemplate" select="$XmlDefinition"/>
   </xsl:otherwise>
      </xsl:choose>
        <xsl:if test="$ClientRender='1'">
            <xsl:call-template name="GenerateCSRCalls"/>
   </xsl:if>
  </xsl:template><xsl:template name="View_DefaultSummary_RootTemplate" mode="RootTemplate" match="View[@BaseViewID='0']" ddwrt:dvt_mode="root" ddwrt:ghost="hide">
    <xsl:apply-templates select="." mode="full" />
  </xsl:template><xsl:template match="View[@BaseViewID='0' and List/@TemplateType='301']" mode="full" ddwrt:ghost="hide">
         <xsl:choose>
            <xsl:when test="$ClientRender='1'">
              <xsl:call-template name="CTXGeneration"/>
        <div id="script{$ContainerId}"></div>
        <div id="scriptPaging{$ContainerId}"></div>
      </xsl:when>
            <xsl:otherwise>
        <div>
          <xsl:apply-templates select="." mode="RenderView" />
        </div>
        <xsl:apply-templates mode="footer" select="." />
      </xsl:otherwise>
         </xsl:choose>
  </xsl:template><xsl:template match="View" mode="RenderView" ddwrt:ghost="hide">
         <xsl:variable name="ViewStyleID">
      <xsl:value-of select="ViewStyle/@ID"/>
    </xsl:variable>
         <xsl:variable name="HasExtraColumn" select="$TabularView='1' and $MasterVersion>=4 and ($ViewStyleID = '' or $ViewStyleID = '17')"/>
         <xsl:if test="Aggregations[not(@Value='Off')]/FieldRef">
      <tr>
        <xsl:if test="$HasExtraColumn">
          <td/>
        </xsl:if>
        <xsl:if test="$InlineEdit">
          <td width="1%"/>
        </xsl:if >
        <xsl:apply-templates mode="aggregate" select="ViewFields/FieldRef[not(@Explicit='TRUE')]">
           <xsl:with-param name="Rows" select="$AllRows"/>
           <xsl:with-param name="GroupLevel" select="0"/>
        </xsl:apply-templates>
      </tr>
    </xsl:if>
         <xsl:variable name="Fields" select="ViewFields/FieldRef[not(@Explicit='TRUE')]"/>
         <xsl:variable name="Groups" select="Query/GroupBy/FieldRef"/>
         <xsl:variable name="Collapse" select="Query/GroupBy[@Collapse='TRUE']"/>
         <xsl:variable name="GroupCount" select="count($Groups)"/>
         <xsl:choose>
            <xsl:when test="$ClientRender='1'">
        <script id="script{$ContainerId}"/>
      </xsl:when>
            <xsl:otherwise>
              <xsl:for-each select="$AllRows">
                 <xsl:variable name="thisNode" select="."/>
                 <xsl:if test="$GroupCount &gt; 0">
                   <xsl:call-template name="GroupTemplate">
                      <xsl:with-param name="Groups" select="$Groups"/>
                      <xsl:with-param name="Collapse" select="$Collapse"/>
                      <xsl:with-param name="HasExtraColumn" select="$HasExtraColumn"/>
                   </xsl:call-template>
          </xsl:if>
                 <xsl:if test="not(not($NoAJAX) and not($InlineEdit) and $Collapse and $GroupCount &gt; 0)">
            <xsl:apply-templates mode="Item" select=".">
               <xsl:with-param name="Fields" select="$Fields"/>
               <xsl:with-param name="Collapse" select="$Collapse"/>
               <xsl:with-param name="Position" select="position()"/>
               <xsl:with-param name="Last" select="last()"/>
            </xsl:apply-templates>
          </xsl:if>
        </xsl:for-each>
      </xsl:otherwise>
         </xsl:choose>
         <xsl:if test="$InlineEdit and not($IsDocLib) and $ListRight_AddListItems = '1'">
            <xsl:call-template name="rowinsert">
              <xsl:with-param name="Fields" select="$Fields"/>
            </xsl:call-template>
    </xsl:if>
  </xsl:template><xsl:template mode="Item" match="Row[../../@TemplateType='301' and (../../@BaseViewID='0' or ../../@BaseViewID='7' or ../../@BaseViewID='8' or ../../@BaseViewID='9')]" ddwrt:ghost="hide">
         <xsl:param name="Fields" select="."/>
         <xsl:param name="Collapse" select="."/>
         <xsl:param name="Position" select="1"/>
         <xsl:param name="Last" select="1"/>
         <xsl:variable name="ShowBody"><xsl:if test="../../@BaseViewID='0' or ../../@BaseViewID='7'">1</xsl:if></xsl:variable>
         <xsl:variable name="ShowTopDate"><xsl:if test="../../@BaseViewID='0' or ../../@BaseViewID='7'">1</xsl:if></xsl:variable>
         <xsl:variable name="ShowDrafts"><xsl:if test="../../@BaseViewID='7'">1</xsl:if></xsl:variable>
         <xsl:variable name="thisNode" select="."/>
         <xsl:if test="$ContainerId">
             <xsl:text disable-output-escaping="yes">&lt;!--&lt;#  if (listItem["_ModerationStatus"] != '')
          {#&gt; --&gt;
        </xsl:text>   
    </xsl:if>
         <xsl:if test="$ShowDrafts=1 or $thisNode/@_ModerationStatus. = 0 or $ContainerId">
      <table>
      <tr class="ms-blogpostdatecol" valign="top">
      <td class= "ms-leftblogdate">
        <div id="PostDateTopBox" class="ms-postcalendardateboxtop">
        </div>
        <div id="PostDateBottomBox" class="ms-postcalendardateboxbottom" style="overflow-x:hidden">
        <div>
        <xsl:value-of select="$thisNode/@PublishedDate.MonthDayOnly" disable-output-escaping="yes" />
        </div>
        </div>
      </td>
      <td class = "ms-rightblogpost">
        <table dir="None" cellspacing="0" cellpadding="0" width="100%" border="0">
          <tbody>
            <tr>
              <td class="ms-PostTitle">
                <a href="{$HttpVDir}/{$thisNode/../@resource.wss.lists_Folder.web}/{$thisNode/../@resource.wss.blogpost_Folder.web}/Post.aspx?ID={$thisNode/@ID}">
                  <xsl:apply-templates select="$Fields[@Name='Title']" mode="PrintField">
                    <xsl:with-param name="thisNode" select="$thisNode"/>
                    <xsl:with-param name="Position" select="$Position"/>
                  </xsl:apply-templates>
                </a>
              </td>
               <xsl:if test="../../@BaseViewID='7'">
                 <xsl:if test="($thisNode/../@value.listpermission.EditListItems = '1' and (($thisNode/../@value.listpermission.ManageLists  = '1') or ($XmlDefinition/List/@WriteSecurity = '2' and $thisNode/@Author.id = $Userid) or ($XmlDefinition/List/@WriteSecurity != '2')))">
                  <td align="right" class="ms-blogedit">
                    <a href="javascript:" onclick="javascript:ShowPopupDialog('{$HttpVDir}/{$thisNode/../@resource.wss.lists_Folder.web}/{$thisNode/../@resource.wss.blogpost_Folder.web}/EditPost.aspx?ID={$thisNode/@ID}&amp;Source={$HttpVDir}%2Fdefault.aspx');">
                      <xsl:value-of select="$thisNode/../@resource.wss.blog_edit" />
                    </a>
                  </td>
                </xsl:if>
              </xsl:if>
            </tr>
          </tbody>
        </table>
        <div class="ms-PostFooter">
                <span class="ms-postfootercolor"><xsl:value-of select="$thisNode/../@resource.wss.ByPrefix"/></span><xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text><xsl:call-template name="RenderAuthor"/>
                <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text><span class="ms-postfootercolor"><xsl:value-of select="$thisNode/../@resource.wss.blog_postfooter_at"/><xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
                <xsl:choose>
                    <xsl:when test="$ContainerId"><xsl:text disable-output-escaping="yes">&lt;#= spMgr.RenderFieldByName("PublishedDate", listItem, listSchema) #&gt;</xsl:text></xsl:when>
                    <xsl:otherwise><xsl:value-of select="@PublishedDate" disable-output-escaping="yes"/></xsl:otherwise>     
                </xsl:choose></span>
        <div>
           <xsl:choose>
             <xsl:when test="$ContainerId">
                 <xsl:text disable-output-escaping="yes">&lt;!--&lt;#  if (listItem.PostCategory != '')
                  {#&gt; --&gt;
                </xsl:text>   
                <xsl:value-of select="$thisNode/../@resource.wss.posts_schema_blgfld_category" /><xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">:&amp;nbsp;</xsl:text>
                 <xsl:text disable-output-escaping="yes">&lt;#= spMgr.RenderFieldByName("PostCategory", listItem, listSchema) #&gt;</xsl:text>
                <xsl:text disable-output-escaping="yes">
                &lt;!-- &lt;# } #&gt; --&gt;
              </xsl:text>
            </xsl:when>
             <xsl:otherwise>
                <xsl:if test="@Name='PostCategory' and not ($thisNode/@PostCategory='')">
                <xsl:value-of select="$thisNode/../@resource.wss.posts_schema_blgfld_category" /><xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">:&amp;nbsp;</xsl:text><xsl:apply-templates select="$Fields[@Name='CategoryWithLink']" mode="Computed_body"><xsl:with-param name="thisNode" select="$thisNode"/></xsl:apply-templates>
                </xsl:if>
            </xsl:otherwise>
           </xsl:choose>
        </div>
      </div>
        <xsl:if test="$ShowBody=1">
          <div class="ms-PostBody">
            <div>
              <xsl:apply-templates select="$Fields[@Name='Body']" mode="PrintField">
                <xsl:with-param name="thisNode" select="$thisNode"/>
                <xsl:with-param name="Position" select="$Position"/>
              </xsl:apply-templates>
            </div>
          </div>
        </xsl:if>
        <div class="ms-PostFooter">
           <xsl:for-each select="$Fields">           
             <xsl:if test="@Name ='Permalink' or @Name ='EmailPostLink' or @Name ='NumCommentsWithLink'">
              <xsl:choose>
                 <xsl:when test="@Name='Permalink' or @Name='EmailPostLink' or @Name='NumCommentsWithLink'"><xsl:apply-templates select="." mode="PrintFieldWithDisplayFormLink"><xsl:with-param name="thisNode" select="$thisNode"/><xsl:with-param name="Position" select="$Position"/></xsl:apply-templates><xsl:if test="@Name='Permalink' or @Name='EmailPostLink'"><xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;|&amp;nbsp;</xsl:text></xsl:if></xsl:when>
                 <xsl:when test="$thisNode/@*[name()=current()/@Name]!=''"><xsl:apply-templates select="." mode="PrintFieldWithDisplayFormLink"><xsl:with-param name="thisNode" select="$thisNode"/><xsl:with-param name="Position" select="$Position"/></xsl:apply-templates><xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;|&amp;nbsp;</xsl:text></xsl:when>
              </xsl:choose>
            </xsl:if>
          </xsl:for-each>
        </div>
          </td>
    </tr>
    </table>
    </xsl:if>
         <xsl:if test="$ContainerId">
             <xsl:text disable-output-escaping="yes">
        &lt;!-- &lt;# } #&gt; --&gt;
      </xsl:text>
    </xsl:if>
  </xsl:template><xsl:template match="View[List/@TemplateType='301' and (@BaseViewID='0' or @BaseViewID='8' or @BaseViewID='9')]" mode="footer" ddwrt:ghost="hide">
         <xsl:call-template name="pagingButtons" />
         <xsl:if test="List/@EnableSyndication=1">
      <div class="ms-blogrss" id="BlogRSSMain">
        <span style="vertical-align:middle">
          <span style="height:16px;width:16px;position:relative;display:inline-block;overflow:hidden;" class="s4-clust"><a href="{$HttpVDir}/_layouts/15/listfeed.aspx?List={$List}" style="height:16px;width:16px;display:inline-block;" ><img src="/_layouts/15/images/fgimg.png?rev=44" alt="{$Rows/@resource.wss.blog_rss_link}" style="left:-0px !important;top:-411px !important;position:absolute;" title="{$Rows/@resource.wss.blog_rss_link}" align="absmiddle" /></a></span>
        </span>
        <a href="{$HttpVDir}/_layouts/15/listfeed.aspx?List={$List}">
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:value-of select="$Rows/@resource.wss.blog_rss_link"/>
        </a>
      </div>
            <xsl:variable name="scriptbody1">     
        var divBlogRSSNav = document.getElementById("BlogRSSNav");
        var divBlogRSSMain = document.getElementById("BlogRSSMain");
        if (divBlogRSSNav != null &amp;&amp; divBlogRSSMain != null)
        {
        divBlogRSSNav.innerHTML = divBlogRSSMain.innerHTML;
        divBlogRSSNav.className = "ms-blogrssnav";
        divBlogRSSMain.parentNode.removeChild(divBlogRSSMain);
        }
     </xsl:variable>
     <xsl:value-of select="pcm:RegisterScriptBlock('block1', string($scriptbody1))"/>
    </xsl:if>
         <xsl:if test="$EnableAlert">
    <div class="ms-blogrss" >
        <a href="{$HttpVDir}/_layouts/15/SubNew.aspx?List={$List}&amp;Source={$HttpVDir}%2Fdefault.aspx" longDesc="{$Rows/@resource.wss.ToolBarMenuItemAlertMe}">
          <img src="/_layouts/15/images/menualert.gif?rev=44" alt="{$Rows/@resource.wss.ToolBarMenuItemAlertMe}" title="{$Rows/@resource.wss.ToolBarMenuItemAlertMe}" align="absmiddle" height="16px" width="16px"/><xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text><xsl:value-of select="$Rows/@resource.wss.ToolBarMenuItemAlertMe"/>
        </a>
      </div>
    </xsl:if>
  </xsl:template><xsl:template name="pagingButtons" ddwrt:ghost="hide">
         <xsl:choose>
            <xsl:when test="$XmlDefinition/List/@TemplateType = 106 and $XmlDefinition/@RecurrenceRowset='TRUE'">
              <xsl:if test="$dvt_nextpagedata or $dvt_prevpagedata">
                 <xsl:call-template name="CalendarExpandedRecurrenceFooter"/>
        </xsl:if>
      </xsl:when>
            <xsl:otherwise>
             <xsl:if test="$XmlDefinition/RowLimit[@Paged='TRUE']">
               <xsl:call-template name="CommandFooter">
                  <xsl:with-param name="FirstRow" select="$FirstRow" />
                  <xsl:with-param name="LastRow" select="$LastRow" />
                  <xsl:with-param name="dvt_RowCount" select="$dvt_RowCount" />
               </xsl:call-template>
      </xsl:if>
      </xsl:otherwise>
         </xsl:choose>
  </xsl:template><xsl:template name="CommandFooter" ddwrt:ghost="hide">
         <xsl:param name="FirstRow" select="1"/>
         <xsl:param name="LastRow" select="1"/>
         <xsl:param name="dvt_RowCount" select="1"/>
         <xsl:if test="$FirstRow &gt; 1 or $dvt_nextpagedata">
            <xsl:call-template name="Navigation">
           <xsl:with-param name="FirstRow" select="$FirstRow" />
              <xsl:with-param name="LastRow" select="$LastRow" />
              <xsl:with-param name="dvt_RowCount" select="$dvt_RowCount" />
            </xsl:call-template>
    </xsl:if>
  </xsl:template><xsl:template name="Navigation" ddwrt:ghost="hide">
         <xsl:param name="FirstRow" select="1"/>
         <xsl:param name="LastRow" select="1"/>
         <xsl:param name="dvt_RowCount" select="1"/>
         <xsl:variable name="LastRowValue" select="$LastRow" />
         <xsl:variable name="NextRow">
      <xsl:value-of select="$LastRowValue + 1"/>
    </xsl:variable>
         <xsl:variable name="RealRowLimit">
            <xsl:choose>
              <xsl:when test="$XmlDefinition/Query/GroupBy[@Collapse='TRUE']/@GroupLimit">
          <xsl:value-of select ="$XmlDefinition/Query/GroupBy[@Collapse='TRUE']/@GroupLimit"/>
        </xsl:when>
              <xsl:otherwise>
          <xsl:value-of select = "$XmlDefinition/RowLimit"/>
        </xsl:otherwise>
            </xsl:choose>
    </xsl:variable>
      <xsl:variable name="PrevHref">
        <xsl:value-of select="$PagePath"/>?<xsl:value-of select="$dvt_prevpagedata"/><xsl:value-of select="$ShowWebPart"/>&amp;PageFirstRow=<xsl:value-of select="$FirstRow - $RealRowLimit"/>&amp;<xsl:value-of select='$FieldSortParam'/><xsl:value-of select='$SortQueryString'/>&amp;View=<xsl:value-of select="$View"/>
 </xsl:variable>                                               
      <xsl:variable name="NextHref">
        <xsl:value-of select="$PagePath"/>?<xsl:value-of select="$dvt_nextpagedata"/><xsl:value-of select="$ShowWebPart"/>&amp;PageFirstRow=<xsl:value-of select="$NextRow"/>&amp;<xsl:value-of select='$FieldSortParam'/><xsl:value-of select='$SortQueryString'/>&amp;View=<xsl:value-of select="$View"/>
 </xsl:variable>
    <table width="100%" border="0" cellpadding="0" cellspacing="0" class="ms-bottompaging">
      <tr>
        <td class="ms-bottompagingline1">
          <img src="/_layouts/15/images/blank.gif?rev=44" width="1" height="1" alt=""/>
        </td>
      </tr>
      <tr>
        <td class="ms-bottompagingline2">
          <img src="/_layouts/15/images/blank.gif?rev=44" width="1" height="1" alt=""/>
        </td>
      </tr>
      <tr>
        <td class="ms-vb" id="bottomPagingCell{$WPQ}">
           <xsl:if test="not($GroupingRender)">
             <xsl:attribute name="align">center</xsl:attribute>
          </xsl:if>
          <table>
            <tr>
               <xsl:if test="$dvt_firstrow &gt; 1">
                <td>
                  <a>
                    <xsl:choose>
                       <xsl:when test="$dvt_RowCount = 0">
                         <xsl:choose>
                            <xsl:when test="not($NoAJAX)">
                              <xsl:attribute name="onclick">javascript:RefreshPageTo(event, "<xsl:value-of select="$PagePath"/>?<xsl:value-of select="$ShowWebPart"/>\u0026<xsl:value-of select='$FieldSortParam'/><xsl:value-of select='$SortQueryString'/>\u0026View=<xsl:value-of select="$View"/>");javascript:return false;</xsl:attribute>
                              <xsl:attribute name="href">javascript:</xsl:attribute>
                          </xsl:when>
                            <xsl:otherwise>
                              <xsl:attribute name="href">
                              javascript: <xsl:call-template name="GenFireServerEvent">
                                   <xsl:with-param name="param" select="'dvt_firstrow={1};dvt_startposition={}'"/>
                                 </xsl:call-template>
                            </xsl:attribute>
                          </xsl:otherwise>
                         </xsl:choose>
                        <img src="/_layouts/15/{$LCID}/images/prev.gif" border="0" alt="{$Rows/@idRewind}" />
                        <img src="/_layouts/15/{$LCID}/images/prev.gif" border="0" alt="{$Rows/@idRewind}" />
                      </xsl:when>
                       <xsl:otherwise>
                         <xsl:choose>
                            <xsl:when test="not($NoAJAX)">                         
                              <xsl:attribute name="onclick">javascript:RefreshPageTo(event, "<xsl:value-of select="$PrevHref"/>");javascript:return false;</xsl:attribute>
                              <xsl:attribute name="href">javascript:</xsl:attribute>
                          </xsl:when>
                            <xsl:otherwise>
                              <xsl:attribute name="href">
                              javascript: <xsl:call-template name="GenFireServerEvent">
                                   <xsl:with-param name="param" select="concat('dvt_firstrow={',$FirstRow - $XmlDefinition/RowLimit,'};dvt_startposition={',$dvt_prevpagedata,'}')"/>
                                 </xsl:call-template>
                            </xsl:attribute>
                          </xsl:otherwise>
                         </xsl:choose>
                        <img src="/_layouts/15/{$LCID}/images/prev.gif" border="0" alt="{$Rows/@idPrevious}" />
                      </xsl:otherwise>
                    </xsl:choose>
                  </a>
    </td>
              </xsl:if>
               <xsl:if test="$FirstRow &lt;= $LastRowValue">
                  <td class="ms-paging">
                       <xsl:value-of select="$FirstRow" /> - <xsl:value-of select="$LastRowValue" />     
                  </td>
              </xsl:if>
               <xsl:if test="$LastRowValue &lt; $dvt_RowCount or string-length($dvt_nextpagedata)!=0">
                <td>
                  <a>
                    <xsl:choose>
                       <xsl:when test="not($NoAJAX)">
                         <xsl:attribute name="onclick">javascript:RefreshPageTo(event, "<xsl:value-of select='$NextHref'/>");javascript:return false;</xsl:attribute>
                         <xsl:attribute name="href">javascript:</xsl:attribute>
                      </xsl:when>
                       <xsl:otherwise>
                         <xsl:attribute name="href">javascript: <xsl:call-template name="GenFireServerEvent">
                             <xsl:with-param name="param" select="concat('dvt_firstrow={',$NextRow,'};dvt_startposition={',$dvt_nextpagedata,'}')"/>
                            </xsl:call-template>
                        </xsl:attribute>
                      </xsl:otherwise>
                    </xsl:choose>
                    <img src="/_layouts/15/{$LCID}/images/next.gif" border="0" alt="{$Rows/@tb_nextpage}" />
                  </a>
                </td>
              </xsl:if>
            </tr>
          </table>
        </td>
      </tr>
      <tr>
        <td class="ms-bottompagingline3">
          <img src="/_layouts/15/images/blank.gif?rev=44" width="1" height="1" alt=""/>
        </td>
      </tr>
    </table>
         <xsl:if test="not($GroupingRender)">
            <xsl:variable name="scriptbody19">
      var topPagingCell = document.getElementById("topPagingCell<xsl:value-of select='$WPQ'/>");
      var bottomPagingCell = document.getElementById("bottomPagingCell<xsl:value-of select='$WPQ'/>");
      if (topPagingCell != null &amp;&amp; bottomPagingCell != null)
      {
      topPagingCell.innerHTML = bottomPagingCell.innerHTML;
      }
      </xsl:variable>
      <xsl:value-of select="pcm:RegisterScriptBlock(concat('block19', $WPQ), string($scriptbody19))"/>
    </xsl:if>
  </xsl:template></xsl:stylesheet></xsl></WebPartPages:XsltListViewWebPart>

    </ZoneTemplate></WebPartPages:WebPartZone>

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Jan. 2017 08:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Jetzt wird's komplizierter und ich bin nicht sicher, ob ich da noch aus der Ferne helfen kann. Es wird an einer Stelle ein Template für den Authro aufgerufen:

<xsl:call-template name="RenderAuthor"/>

Im Code gibt es aber kein Template mit diesem Namen, d.h. es ist wohl über eine separate xsl-Datei eingebunden. Microsoft macht es einem aber auch manchmal schwierig...

Du kannst jetzt einfach selbst eines erstellen:

<xsl:template name="RenderAuthor">
hier Dein Code
</xsl:template>

Das muß auf dieselbe Ebene, wie die anderen <xsl:template>, also nicht innerhalb eines anderen, sondern quasi nebenan. Innerhalb Deines Templates (dort wo "hier Dein Code" steht) kannst Du als erstes versuchsweise statischen Text einfügen. Hallo Welt oder sowas, um zu sehen, ob Dein Template auch wirklich aufgerufen wird.

Wenn das klappt, mußt Du rausfinden, wie Du an Deine Daten kommst. Versuche dazu sowas
<xsl:value-of select="./@MyAuthors"/> oder <xsl:value-of select="$thisNode/@MyAuthors"/>

MyAuthors steht für den Namen Deines Feldes.

Tut mir leid, aber mehr kann ich nicht mehr tun. Mir fehlt die Zeit, um das wirklich selbst auszuprobieren :-(

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
212 Beiträge
Roland Als Antwort am 12 Jan. 2017 09:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Oder zum Nachklicken:

Seite im Designer öffnen, bis zur gewünschten Bibliothek navigieren, in der Navigation (links) rechte Taste Eigenschaften drücken (auf die gewünschte Bibliothek), dann stehen oben rechts die Ansichten, rechte Taste auf gewünschte Ansicht drücken und Ansicht im erweiterten Modus öffnen, Webpart der Tabelle aktivieren, über das Menüband Spalten hinzufügen auswählen ... irgendwie so, ging das glaube ich auch.