热搜:NVER node 开发 php

phpcms这种需求如何写 难度有点大

2024-08-13 14:40:01
phpcms这种需求如何写 难度有点大

象下面这段代码是静态的html文件里的写法
如果我把它写在php文件中,怎么改呢

{pc:content action="lists" catid="6" order="id DESC" thumb="" moreinfo=""  return="data" }{loop $data $n $r}
  • {$r['title']}
  • {/loop}{/pc}


    我试了一下直接放在php文件中是不能解析了,我试图把缓存中的文件复制进来,但一看缓存真是乱七八糟的有很多,多余的代码,有没有写的
    干净点的代码呢


    回复讨论(解决方案)

    {pc:content action="lists" catid="6" order="id DESC" thumb="" moreinfo="" return="data" }
    的含义是:
    查询内容数据表(lists)
    条件为分类号为 6
    按 id 降序排列
    将结果放到名为 data 的数组中

    select * from lists where catid=6 order by id desc

    {loop $data $n $r}
  • {$r['title']}

  • {/loop}
    的含义是:对查询得到的数组循环输出
    foeeach($data as $n=>$r) {  echo "
  • {$r['title']}
  • ":}

    {pc:content action="lists" catid="6" order="id DESC" thumb="" moreinfo="" return="data" }
    的含义是:
    查询内容数据表(lists)
    条件为分类号为 6
    按 id 降序排列
    将结果放到名为 data 的数组中

    select * from lists where catid=6 order by id desc

    {loop $data $n $r}
  • {$r['title']}

  • {/loop}
    的含义是:对查询得到的数组循环输出
    foeeach($data as $n=>$r) {  echo "
  • {$r['title']}
  • ":}


    lists不是一个表,而是一个方法,参见phpcms手册

    那你就在手册里找答案呗
    我不用 phpcms 所以我在网上找答案  http://bbs.phpcms.cn/thread-287675-1-1.html

    方法1:找到phpcms的模板引擎,单独解析这段字符串
    方法2:手动将模板标签改写成php脚本

    PC标签的编译,可以看下系统类库中的模板引擎phpcms/libs/classes/template_cache.class.php中的pc_tag()方法
    {pc:模块名/操作方式 参数名="参数值"}{/pc}

    像{pc:content action="lists" catid="6" order="id DESC" thumb="" moreinfo=""  return="data" },实际上是调用内容模块的内容列表。
    通过catid确定栏目所属的模型及表名,return则为返回的查询结果的变量名。
    这一步,可以看phpcms/modules/classes/content_tag.class.php。这是pc标签调用content模块时用的类。

    方法1:找到phpcms的模板引擎,单独解析这段字符串
    方法2:手动将模板标签改写成php脚本


    能说说方法吗,如何单独解析,有点晕


    方法1:找到phpcms的模板引擎,单独解析这段字符串
    方法2:手动将模板标签改写成php脚本


    能说说方法吗,如何单独解析,有点晕

    所以我写了方法2...
    不过更好奇为什么要把模板内容转到php中



    方法1:找到phpcms的模板引擎,单独解析这段字符串
    方法2:手动将模板标签改写成php脚本


    能说说方法吗,如何单独解析,有点晕

    所以我写了方法2...
    不过更好奇为什么要把模板内容转到php中
    方法二在哪里呢,最好别太笼统了,象我们这样的菜鸟要具体 的方法,

    菜鸟...都是谦虚且懂礼貌的
    #1已经回答你了

    菜鸟...都是谦虚且懂礼貌的
    #1已经回答你了



    菜鸟...都是谦虚且懂礼貌的
    #1已经回答你了


    你能不能别捣乱啊,不说话你不会死的,相信我

    #1已经回答你了啊,你自己去找lists方法,看用的是哪张表,把表名替换一下不久好了。