我当前尝试在SharePoint Designer中以自定义窗体显示列名。我使用Sharepoint 2013,所以设计视图不再存在:(。 表单用于在自定义列表中创建一个新元素。 我不能直接在tempate中输入名称,因为我想以不同的形式使用此模板 问题是我只找到了内部名称 我在datafileds标签中看到有些情侣的内部名称依赖于显示名称,但我没有找到如何恢复显示名称与这一点。SharePoint XSLT列显示名称
仅仅是这可能吗?有人有一个想法,以帮助我吗?
我把一些代码,如果u想看看我的代码。 这部分查找名称包含“question”的属性,并在找到它时调用模板“title_line”。函数名()给我的内部名称,即PB ...
<xsl:template match="Row">
<xsl:for-each select="@*">
<xsl:choose>
<xsl:when test="contains(name(),'Question')">
<xsl:call-template name="title_line" >
<xsl:with-param name="title" select="name()"/>
<xsl:with-param name="class" select="'class_title'"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
这部分是显示标题:
<xsl:template name="title_line" >
<xsl:param name="title" select="'no title'" />
<xsl:param name="class" select="'no_class'" />
<tr>
<td colspan ="2" class="{$class}" style="font-weight:bold;font-size:medium">
<xsl:value-of select="$title" />
</td>
</tr>
</xsl:template>
我的解决方案:
我使用JQuery 1.9.0和SPServices 0.7.2
将这些库导入标题。 ContentPlacdeHolderId PlaceHolderAdditionalPageHead位于页面底部,我没有看到它,并且因为重复而出现一些问题...) 关于源代码,我激活了发布并创建了一个文件夹脚本到样式库中。
<asp:Content ContentPlaceHolderId="PlaceHolderAdditionalPageHead" runat="server">
<SharePoint:DelegateControl runat="server" ControlId="FormCustomRedirectControl" AllowMultipleControls="true"/>
<SharePoint:UIVersionedContent UIVersion="4" runat="server">
<ContentTemplate>
<SharePoint:CssRegistration Name="forms.css" runat="server"/>
<!-- add JQuery 1.9.0-->
<script id ="JQUERY_ID" type="text/javascript" src="../../Style%20Library/Scripts/jquery-1.9.0.js">
</script>
<!-- add SPServices 0.7.2 -->
<script id ="JQUERY_ID" type="text/javascript" src="../../Style Library/Scripts/jquery.SPServices-0.7.2.js">
</script>
</ContentTemplate>
</SharePoint:UIVersionedContent>
</asp:Content>
现在的标题显示为:
<xsl:template name="title_line" >
<xsl:param name="title" select="'no title'" />
<xsl:param name="class" select="'no_class'" />
<tr>
<td colspan ="2" class="{$class}" style="font-weight:bold;font-size:medium">
<script type="text/javascript">
var static_name = '<xsl:value-of select="$title" />';
var display_name = $().SPServices.SPGetDisplayFromStatic ({
listName: "listeperso",
columnStaticName: static_name
});
document.write(display_name);
</script>
</td>
</tr>
</xsl:template>
我只是需要有列表的名称动态和它结束了。
Cya。
编辑:与列表名称脚本动态
<script type="text/javascript">
var list_name = $().SPServices.SPListNameFromUrl();
var static_name = '<xsl:value-of select="$title" />';
var display_name = $().SPServices.SPGetDisplayFromStatic ({
listName : list_name,
columnStaticName: static_name
});
document.write(display_name);
</script>
LISTNAME使用列表中的每个名称列表中的每个ID。 SPListNameFromUrl返回列表ID。