KingCMS 2009 显示当前栏目下级再下级栏目内容

作者:vkvi 来源:ITPOW(原创) 日期:2010-2-28

现在要做一个模板,用在一级栏目,要求是显示当前一级栏目下的所有二级栏目名称,并且在每个二级栏目名称下显示该二级栏目下某个特定模型的三级栏目的内容。

{king:portal.list listid1="(king:listid/)"}
  <!--二级栏目列表头-->
  <h2><a href="{king:listpath/}">{king:listname/}</a></h2>

  {king:portal.List listid1="(king:listid/)" modelid="11"}
    <!--选三级栏目中 modelid="11" 的作为二级栏目显示的列表内容-->
    {king:portal.mymodel listid="(king:listid/)"}
      <ul>
        <li>
          <div><img src="{king:_thumbnail/}" alt="thumbnail" /></div>
          <div><a href="{king:path/}" target="new">{king:title size="44"/} </a></div>
        </li>
      </ul>
    {/king:portal.mymodel}
  {/king:portal.List}
{/king:portal.list}

说明

这里面有两个 {/king:portal.list} 循环,但针对嵌套循环 KingCMS 中不能自动对应每个循环的结束标签,所以我们把其中一个 list 的 L 大写了,这样两个标签就不是完全相同的,KingCMS 就能识别各自的循环了。

最外层循环的 listid1="(king:listid/)",由于我们这个模板是应用于一级栏目,这一句就表示当前一级栏目下的所有二级栏目。

内层循环也有个 listid1="(king:listid/)",要注意,这里的 (king:listid/) 和外层循环的 (king:listid) 不是一个值了。我们可以发现三个 (king:listid/) 都是一样的,并没有用大写来区分,值却不一样,而且我们还必须把三个 (king:listid/) 弄成一样,不信我们把第一个 (king:listid/) 改成 (king:listId/) 试试,结果完成不是我们想要的。

modelid="11" 用于筛选模型 ID 为 11 的三级栏目。

king:portal.mymodel 中的 mymodel 是我们模型的标签,并不是系统自带的。

相关文章