WEB开发网
开发学院CMS教程其它CMS 任意模板里调用任意栏目的文章 阅读

任意模板里调用任意栏目的文章

 2010-05-30 19:14:37 来源:WEB开发网   
核心提示:宏博cms模板里如何调用某个栏目(分类)的文章?问题:我希望在文章显示页,调用栏目ID为16的栏目的最新文章,任意模板里调用任意栏目的文章,如何实现?解答:将如下代码添加到模板源代码中相应的位置即可,<{php}>include("config/type_16.inc.php");$th

宏博cms模板里如何调用某个栏目(分类)的文章?

问题:我希望在文章显示页,调用栏目ID为16的栏目的最新文章,如何实现?

解答:将如下代码添加到模板源代码中相应的位置即可。

<{php}>
include("config/type_16.inc.php");
$this->assign('my_variable_name',$TYPE_DATA['new_article']);
<{/php}>

<{foreach name="my_foreach_name" item="curr_section" from=$my_variable_name}>
   <{if $smarty.foreach.my_foreach_name.iteration <= 3}>
    <{$smarty.foreach.my_foreach_name.iteration}>.
    <a href="<{$curr_section.url}>"><{$curr_section.title}></a><br>
   <{/if}>
<{/foreach}>

代码解释:

  1. 这里先将栏目的文章信息用include包含到模板里,再用foreach 循环显示出来。
  2. include("config/type_16.inc.php"); 中的16,就是你要调用的栏目ID
  3. $this->assign('my_variable_name',$TYPE_DATA['new_article']); 其中my_variable_name为你自己设置的一个变量名,new_article表示读取该栏目的最新文章,hot_article表示该栏目的热门文章,commend_article表示该栏目的推荐文章。
  4. <{foreach name="my_foreach_name" item="curr_section" from=$my_variable_name}> 其中my_foreach_name是你给这个循环设置的变量名,在接下来的代码中需要用到。$my_variable_name 就是你之前设置的变量名称,这里必须保持一致。
  5. item="curr_section"  这个curr_section也可以设置为其他的名称,但在接下来的所有代码中,必须保证都是一样的名称。
  6. <{if $smarty.foreach.my_foreach_name.iteration <= 3}> 中的数字3表示只显示3篇文章。
  7.  <a href="<{$curr_section.url}>"><{$curr_section.title}></a><br> 这里的 url,title 等等参数的含义和“最新文章 变量:new_article一样。

应用: 如此以来,你就可以在各个模板的任何位置,随意调用想要的栏目文章了。

注意:最新文章 变量:new_article 热门文章 变量:hot_article 推荐文章 变量:commend_article 的最大文章数目默认是20篇,如果你需要获取更多的文章,需要在后台“系统配置管理”,“系统变量”里,将变量 admin.cache_article_num 的数值调大,如设置成30。

性能:大可放心。因为通过上述方法调用的文章,全部是在配置文件中缓存起来的。不需要查询数据库,因此,对性能和生成静态页的速度几乎没有影响。

Tags:任意 模板 调用

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