帝国cms采集很慢 帝国CMS用PHP代码实现灵动标签的方法

帝国CMS教程

帝国cms用PHP代码实现灵动标签的技巧:

为什么要了解这个技巧?

  • 通过php代码可以在不支持灵动标签的页面中调用信息。
  • 通过php代码来调用信息更灵活,可以支持标签无限嵌套的效果。

如何用PHP代码实现灵动标签的功能

我们先看下灵动标签语法:

  1. [e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序}]
  2. 模板代码内容
  3. [/e:loop]

上面对应的PHP函数是:

sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序)

灵动标签实际对应的原型PHP代码为如下:

  1. <?php
  2. $ecms_bq_sql=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
  3. $bqno=0;
  4. while($bqr=$empire->fetch($ecms_bq_sql))
  5. {
  6. $bqsr=sys_ReturnEcmsLoopStext($bqr);
  7. $bqno++;
  8. ?>
  9. 模板代码内容
  10. <?php
  11. }
  12. ?>

怎么做能实现标签无限嵌套的效果?

下面举例:

  1. <?php
  2. $ecms_bq_sql=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
  3. $bqno=0;
  4. while($bqr=$empire->fetch($ecms_bq_sql))
  5. {
  6. $bqsr=sys_ReturnEcmsLoopStext($bqr);
  7. $bqno++;
  8. ?>
  9. <?php
  10. $ecms_bq_sql2=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
  11. $bqno2=0;
  12. while($bqr2=$empire->fetch($ecms_bq_sql2))
  13. {
  14. $bqsr2=sys_ReturnEcmsLoopStext($bqr2);
  15. $bqno2++;
  16. ?>
  17. 模板代码内容2 <?=$bqr2[title]?>
  18. <?php
  19. }
  20. ?>
  21. 模板代码内容 <?=$bqr[title]?>
  22. <?php
  23. }
  24. ?>

中间部分是二次嵌套,还可以加三次、四次...,由上可以看出通过PHP代码是可以实现标签无限嵌套,只要$ecms_bq_sql、$bqno、$bqr、$bqsr变量名改下就可以了。