第十五周
最后一个模块是My Bookmark(个人书签)
因为,信息目录和服务目录的项目数目不小,但是,大部分员工每天只是固定在几个服务和几个相对固定的信息内容。
这个模块的目的是提供一个个人书签以标记常用的服务和信息。以方便用户的使用。
信息和服务目录存放在infocategory List
个人书签存放在mybookmark List,
其中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 οnclick="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>
显示如图
模块虽然不完美,但实施起来方便简洁,编码也只要一个工作日就完成了。
最后一个模块是My Bookmark(个人书签)
因为,信息目录和服务目录的项目数目不小,但是,大部分员工每天只是固定在几个服务和几个相对固定的信息内容。
这个模块的目的是提供一个个人书签以标记常用的服务和信息。以方便用户的使用。
信息和服务目录存放在infocategory List
Single line of text | |||
Single line of text |
| ||
Number |
| ||
Single line of text |
| ||
Yes/No |
| ||
Single line of text |
| ||
Person or Group |
| ||
Person or Group |
个人书签存放在mybookmark List,
Single line of text | |||
Number |
| ||
Person or Group |
| ||
Person or Group |
新建一个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 οnclick="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>
显示如图
模块虽然不完美,但实施起来方便简洁,编码也只要一个工作日就完成了。