免代码编辑站点风格布局之自定义模板(一)

大家一定在很多CMS里看到过这个东西:

在应用此功能的站点上我们往往会先登录到网站后台,点击模板管理并使用html编写模板代码,插入标签如:

<table>
 
<tr>
  
<td>{$文章列表(2,6)$}</td>
 
</tr>
</table>

其中{$文章列表(2,6)$}为自定义标签,意义:显示文章栏目ID为2的6条文章标题,我们将标签与模板代码一并提交到数据库中。

当我们访问此页面查看源代码时,看到了这样的现象:
<table>
    
<tr>
        
<td>
            
<table>
                
<tr>
                    
<td><href="content.aspx?showid=1">
                    文章标题1
                    
</a></td>
                
</tr>
                
<tr>
                    
<td>
                      
<href="content.aspx?showid=2">文章标题2</a>                    </td>
                
</tr>
                
<tr>
                  
<td><href="content.aspx?showid=3">文章标题3</a></td>
              
</tr>
                
<tr>
                  
<td><href="content.aspx?showid=4">文章标题4</a></td>
              
</tr>
                
<tr>
                  
<td><href="content.aspx?showid=5">文章标题5</a></td>
              
</tr>
                
<tr>
                  
<td><href="content.aspx?showid=6">文章标题6</a></td>
              
</tr>
            
</table>
        
</td>
    
</tr>
</table>

这就意味着刚才的{$文章列表(2,6)$}被替换成了

<table>
                
<tr>
                    
<td><href="content.aspx?showid=1">
                    文章标题1
                    
</a></td>
                
</tr>
                
<tr>
                    
<td>
                      
<href="content.aspx?showid=2">文章标题2</a>                    </td>
                
</tr>
                
<tr>
                  
<td><href="content.aspx?showid=3">文章标题3</a></td>
              
</tr>
                
<tr>
                  
<td><href="content.aspx?showid=4">文章标题4</a></td>
              
</tr>
                
<tr>
                  
<td><href="content.aspx?showid=5">文章标题5</a></td>
              
</tr>
                
<tr>
                  
<td><href="content.aspx?showid=6">文章标题6</a></td>
              
</tr>
            
</table>

当用户访问页面Template.ASPX时程序首先从模板数据库中读入模板代码,然后对标签稍加处理,最后编译标签将最终结果显示到页面上来,到此原理大家应该明白了吧,不明白请看下面的实例讲解:

一、需要掌握的方法
要实现上述功能应首先了解一下几个字符串处理方法

1.IndexOf:返回 String 对象内第一次出现子字符串的字符位置。
2.Substring:从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。
3.Replace:将此实例中的指定 Unicode 字符或 String 的所有匹配项替换为其他指定的 Unicode 字符或 String。
4.Split:返回包含此字符串中的子字符串(由指定的 String 数组的元素分隔)的 String 数组。

具体使用方法大家可以去msdn上查一下,对下一节课有所帮助。
posted on 2007-05-10 13:10  石川  阅读(231)  评论(0编辑  收藏  举报