WEB开发网
开发学院CMS教程其它CMS HBCMS模板教程第十四讲:首页栏目列表(下) 阅读

HBCMS模板教程第十四讲:首页栏目列表(下)

 2010-06-08 19:16:42 来源:WEB开发网   
核心提示:最外围的表格主要是为方便循环所建立,因为用表格实现栏目两页循环的话,HBCMS模板教程第十四讲:首页栏目列表(下),就必须这样做,从第2行开始是最外围的循环代码,欢迎指出,我们共同探讨,此循环的大致意思是:循环第一行,是声明一个变量type_num

最外围的表格主要是为方便循环所建立,因为用表格实现栏目两页循环的话,就必须这样做。

从第2行开始是最外围的循环代码,此循环的大致意思是:

循环第一行,是声明一个变量type_num,这个变量的作用就是栏目计数,首先赋值为1

循环第二行,是调出所有栏目数据,循环第三行是在第二行调用的栏目中调用一级栏目,并且过滤掉栏目ID为4和6的栏目,因为这两个是友情链接和站内公告,不需要在首页循环中出现。

再看代码结尾,从倒数第九行开始,是最外围循环的代码,倒数第九行的作用是,每行显示两个栏目,也就是两列显示。倒数第七行是这个小循环的结束,这三行代码的意思是,当变量循环是偶数时,就输入出倒数第八行的代码。再往下看是变量type_num的循环相加代码,每次循环加1。再往下是大循环的结束代码。

回到头部,在大循环代码中,是一个单元格,大循环代码就是循环输出这个单元格,当输入两个单元格时,输入换行代码< /tr>< tr>。这样就形成了两个栏目一行的情况,如图所示:

HBCMS模板制作系列教程第十三讲:首页栏目列表(下)

以下为引用的内容:

 <table cellSpacing=0 cellPadding=0 width="100%"  border=0>
   <TBODY><TR>
 <{assign var="type_num" value="1"}>
 <{foreach name=all_type item=single_type from=$data_ary.all_type}>
 <{if $single_type.parent_id == 0 && $single_type.id !=4 && $single_type.id != 6 && ( $single_type.property == 'list' || $single_type.property == 'cover' )}>
 <TD vAlign=top width="50%">
       <table width="99%" border="0" cellpadding="3" cellspacing="1">
        <tr>
         <td height="33" background="<{$web.img_dir}>/title_bg.jpg">
          <table border="0" cellpadding="0" cellspacing="0" width="98%">
           <tr>
            <td width='3' bgcolor="#B00B1C"></td>
      <td width='8'></td>
            <td><a href="<{$single_type.url}>" class="title1"><strong><{$single_type.title}></strong></a> </td>
            <td width="35" valign="bottom">
             <a href="<{$single_type.url}>"><img src=http://www.fxmoban.com/cms/fd/"<{$web.img_dir}>/more.jpg" width="36" height="13" border="0"></a>
            </td>
            </tr>
           </table>
          </td>
         </tr>
         <tr>
          <td height="50" valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
  <{foreach name=new_article_data item=item_info from=$data_ary.new_article[$single_type.id]}>
  <{if $smarty.foreach.new_article_data.iteration <= 10}>     
          <tr>
           <td width="100%" height="22" class="inddline">
           ·<a href="<{$item_info.url}>"><{$item_info.title|strip_tags:true|cn_truncate:18:"":true}></a>
           </td>
          </tr>
  <{/if}>
  <{/foreach}>      
          </table>
          </td>
         </tr>
       </table>
 </TD>
 <{if $type_num%2 == 0}>
 </tr><tr>
 <{/if}>
 <{assign var="type_num" value="`$type_num+1`"}>
 <{/if}>
 <{/foreach}>
 </tr>
  </TBODY>
  </table>
 

我们接着看此单元格中的代码,<{$web.img_dir}>的作用是输出模板的图片文件夹路径。然后就是栏目的名称和URL地址了,分别是标记<{$single_type.title}>和<{$single_type.url}>。

再往下就是输出栏目文章列表的代码了, 这是一个小的循环代码,和最新文章列表的代码基本一样,唯一的区别是,循环的第一行<{foreach name=new_article_data item=item_info from=$data_ary.new_article[$single_type.id]}>,代码中的中括号处的内容是调出栏目的ID,就像输出站内公告列表的代码<{foreach name=new_article_data item=item_info from=$data_ary.new_article[6]}>同理,6就是站内公告栏目的ID。此外的代码如果还不明白,请参考教程:

好了,我用我自己的理解和我自己的语言解释了HBCMS的模板循环代码,不知理解和用词是否准确,但在我的应用中,还是很正确的。如有错误,欢迎指出,我们共同探讨。我们下一讲再见。

Tags:HBCMS 模板 教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接