by1455的自留地

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  77 Posts :: 0 Stories :: 60 Comments :: 2 Trackbacks
第十五周

最后一个模块是My Bookmark(个人书签)
因为,信息目录和服务目录的项目数目不小,但是,大部分员工每天只是固定在几个服务和几个相对固定的信息内容。
这个模块的目的是提供一个个人书签以标记常用的服务和信息。以方便用户的使用。

信息和服务目录存放在infocategory List 

Title

Single line of text

URL

Single line of text

 

DisplayOrder

Number

 

Target

Single line of text

 

Hide

Yes/No

 

Owner

Single line of text

 

Created By

Person or Group

 

Modified By

Person or Group



个人书签存放在mybookmark List,

Title

Single line of text

InfoCatID

Number

 

Created By

Person or Group

 

Modified By

Person or Group

其中InfoCatID是指向infocategory的ID
新建一个View名为mybookmark,Filter条件是modified by = [me]

为此将viewlist.aspx扩展到viewlist2.aspx,新加二个参数view2和List2,输出的xml各市如下
<List>
 <view>
 </view>
.............
 <view>
 </view>
 <view2>
 </view2>
............
<view2>
 </view2>
</List>

使用sitemap(即显示整个infocategory List)的XSLT加上
<form action="mybookmark.aspx" method="post">
</form>
判断item是否已经被选中,使用如下代码
<xsl:template name="BookMarkFunction">
  <xsl:param name="infoCatID" />
  <xsl:for-each select="View">
      
     <H5>
      <xsl:variable name="fID" select="ID"></xsl:variable>
      <input type="checkbox" value="{ID}" id="ID{ID}" name="useroptionChkBox">
       <xsl:if test="count(/List/View2[InfoCatID=$fID]) != 0">
        <xsl:attribute name="checked">Checked</xsl:attribute>
       </xsl:if>
      </input>
      <label>
       <xsl:attribute name="for">
       <xsl:value-of select="Title" />
       </xsl:attribute>
       <xsl:value-of select="Title" />
      </label>
     </H5>
   
   
  </xsl:for-each>
</xsl:template>


mybookmark.aspx把用户提交的结果存入bookmark List,因为用户使用自己的NETWORK ID存入,myBookmark(View)根据filter条件,只会显示用户的本人的bookmark。

对应的XSLT代码如下
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
 <xsl:template match="List">
  <xsl:variable name="Random"><xsl:value-of select="param/Random"/> </xsl:variable>
  <div class="toolbox" id="mynavi">
   <h3 onclick="javascript:toggle_display('mynavi_div',this);" class='on'>
    <span>My Bookmark</span>
   </h3>
   <ul id="mynavi_div">
    <xsl:for-each select="View">
     <xsl:sort select="LinkTitle" />
     <li>
      <a>
        <xsl:attribute name="href"><xsl:value-of select="URL"/></xsl:attribute>
        <xsl:attribute name="Target"><xsl:value-of select="Target" /></xsl:attribute>
        <xsl:value-of select="LinkTitle"/>
      </a>
      
     </li>
    </xsl:for-each>
   </ul>
   <div align="right">[ <a>
    <xsl:attribute name="href">#</xsl:attribute>
    Edit Bookmark
    </a> ]</div>
  </div>
 </xsl:template>
</xsl:stylesheet>

显示如图


模块虽然不完美,但实施起来方便简洁,编码也只要一个工作日就完成了。







posted on 2007-12-11 16:51 by1455 阅读(702) 评论(4)  编辑 收藏 网摘 所属分类: Sharepoint

Feedback

#1楼 2007-12-17 16:52 阿亮[未注册用户]
您好

我是个MOSS新手
有个问题 想向您请教一下
就是看到你们开发的网站首页
请问你们是自己写网站定义 部署上去
还是用DESIGNER修改来完成的?

谢谢

  回复  引用    

#2楼[楼主] 2007-12-21 20:12 by1455      
在这个门户网站的开发中,用户部分的显示和数据部分(list,doclib)是分离的。
显示是用存放在doclib中的xslt文件来控制的,xslt文件的开发是用designer和xmlspy来完成的。
数据部分(包括生成,定义,view)均使用Moss2007本身的admin功能,由ie来完成。
部署分成二部分
1:exclude path,使用简单的xcopy命令把aspx和相关文件拷贝到inetpub\wwwroot\....\下 (每个web服务器都要做一次)
2:Site本身,使用stsadm,当然designer也可以。只是简单的backup和restore. (只做一次)

  回复  引用  查看    

#3楼 2008-01-29 14:39 LWF[未注册用户]
请教:
1、VSTS2005如何修改MOSS站点(新建了一个空白网站),并在其default.aspx中加入代码,例如Page_load事件中
2、VSTS2005开发的网站能导入到MOSS中作为模板网站使用吗?如何实现
3、在MOSS子网站中重定向到另一个JSP开发的网站,如何能将JSP网站嵌入在MOSS的子网站内

以上问题相关联。

  回复  引用    

#4楼[楼主] 2008-01-31 13:28 by1455      
1:最好不要用VST2005修改MOSS站点.新建了一个空白网站,可以用browser或者Sharepoint Designer. MOSS2007的default.aspx不是真正的ASP.NET代码.无直接的Page_load事件,替代的方案可以用webpart的Page_load事件,或者用javascript的Onload事件.

2:VSTS2005开发的网站的masterpage可以导入MOSS2007.但是,缺少了MOSS2007的元素,用处不会很大。

3:MOSS子网站的重定向,可以用welcome页,“嵌入在MOSS的子网站”不太明白,是不是嵌入webpart的意思?如果是,当然可以,要无缝连接,可以用ajax.

  回复  引用  查看    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 990471




相关文章:

相关链接: