zoukankan      html  css  js  c++  java
  • [转]在MOSS中如何限制标题在首页上显示的长度?

    在MOSS相关的项目中,我们经常要将内容聚合到首页:比方说新闻、通知、文档等内容,由于首页内容相对较多,因此要对各部分内容显示的区域加以限制,才 能保证整个页面布局的和谐与统一,限制标题显示的字符数,就成了一个必须的要求。MOSS的文档库和列表本身的试图并不提供本身的功能,所以要实现这样的 功能就必须自己动手,一是写自己的webpart,取出库和列表的内容,然后按照自己的要求去展示内容,这种方法的优点是通用性强,并且可以将 webpart写的更加通用些,一次投入就一直受益,适合有开发能力的公司或个人;这种方法在SPS2003下就有人做了相应的工作。
    那么,对于像我这样的专注于系统而没有开发经验的人来说,是不是就没有办法了呢?答案当然是否定的!在Sharepoint designer中,有一项神奇的功能,可以将MOSS的库和列表转换成XSLT数据视图,借助于XSLT,我们可以灵活的控制内容展示的形式。
    比如,我们想对这个列表的标题的字数加以限制,当字数<=12时,则显示全部的标题,如果字数>12,则截取前面的9个字,并在后面加上...
    在SPD中找到我们插入页面的库或列表,右键,选择转换成XSLT试图。
    对于列表,选择列表的标题,对应的XSL代码为:
    <xsl:value-of disable-output-escaping="no" select="@Title" />
    将代码替换为:
    <xsl:if test="string-length(@Title)<=12"> 判断如果标题的字符串长度是否<=12
    <xsl:value-of disable-output-escaping="no" select="@Title" /> 显示完整标题:select="@Title"
    </xsl:if>
    <xsl:if test="string-length(@Title)>12"> 判断如果标题的字符串长度是否>12
    <xsl:value-of select="substring(string(@Title),1,9)" />... 显示标题的前9个字符,并在后面加上 ...
    </xsl:if>
    对于文档库,select的值不是标题,而是将文件名处理后的标题,代码如下:
    <xsl:value-of select="ddwrt:UrlBaseName(string(@LinkFilename))" />
    我们需要将对应的代码修改如下:
    <xsl:if test="string-length(@LinkFilename)<=12">
    <xsl:value-of select="ddwrt:UrlBaseName(string(@LinkFilename))" />
    </xsl:if>
    <xsl:if test="string-length(@LinkFilename)>12">
    <xsl:value-of select="substring(ddwrt:UrlBaseName(string(@LinkFilename)),1,9)" />...
    </xsl:if>

    美中不足的是,我发现代码中对于字符串的计数是不分全角半角的,统统按照一个计算,这样的话,如果标题或文件名中如果包含了半角的字母或数字,所显示的结果就不会如我们的想象一样,是一个固定的长度,不过,对于标题过长从而换行导致的布局问题,总算是解决了!
    注:文中标题部分的代码,参考了西安huahua同学在MOSS群中的讨论,才使得我对这个问题有了一个完整的认识,在此表示感谢!

    原文地址:http://hi.baidu.com/xuxd/blog/item/4404113011de0b9fa8018e5a.html

  • 相关阅读:
    用Apache 里面的ab做一个简单的压力测试
    优化加载jQuery的方法
    html的head里出现了 http://c.cnzz.com/core.php
    使用wget命令时发生错误
    Thinkphp 用PHPExcel 导入Excel
    001--初探ts
    006--面试之异步
    001--Node.js之EventLoop
    005--面试原型之jQuery和zepto的简单使用
    004--面试之ES6其他常用的功能
  • 原文地址:https://www.cnblogs.com/bmib/p/1992470.html
Copyright © 2011-2022 走看看