你现在的位置:首页 > PHP网站建设知识库 > phpcms > 正文

phpcms v9万能标签,超越GET调用

为大家写一个pc万能标签,补充系统标签的不足之处!

目前pc标签能完成以下用途:

   1、直接调用主表信息;   2、调用附表信息;
   3、条件只支持主表条件; 普通条件:$catid (写法:catid="$catid") 高级条件 (where=" catid=$catid and 字段名=值") ;(高级条件$catid 处理不购完善,不支持catid="$catid";无法查询多级栏目)

  接下来讲讲我须要写的标签!

  1、解决原标签高级条件查询.catid 的判断,支持catid="$catid" (假如where 中不写ctaid值,附加catid="$catid"值后,自动查询下级栏目信息,如果用where指定就不用写catid="$catid"呢,不写 系统不判断)

2、主表与附表关联查询(并不是说调用附表信息,而是同时可以用附表做条件,pc原标签不支持,)目前大家都用的是GET实现吧,不支持 catid="$catid" 是不是有一定痛苦呢,想要多栏目还得用in 还要写解出子栏目id条件等,不用麻烦了,新标签为你全部解决!

3、任意表之间关联多条件查询!(功能就不说了,实现GET万能,减少菜鸟们的难懂教程)

开始说明使用方法: 启用本标签在原标签上的lists改为wl而以;

申明:分页,显示数,调用栏目同pc 如num 显示数量; page 启用分页 catid 调用栏目;以下区处用红色标记,

1、普通标签使用方法,
方法a[普通条件]:同pc自带的lists一样区别是用  {pc:content action="wl"  catid="$catid"  num="10"  order="id DESC" page="$page"} 没区别吧,只是把lists改为wl而以

方法b[高级条件]:{pc:content action="wl"  catid="$catid"  where="主表字段a='值' and 主表字段b='值' and 主表字段c in(值)" num="10"  order="id DESC" page="$page"}
以上b标签是针对原的pc高级标签改进的catid="$catid"生效使用!,懂了吧,如果不使用catid自动处理下级栏目时,去掉或者写进where中即可!

2、关联表关联查询, 多加一个条件:type="2"


   方法a[鸡住功能,可用可不用,因为原有标签使用启用附表功能就可以实现,只是走的方法不一样而以.不过可以实现附表排序功能,也不算全鸡住]

{pc:content action="wl"  type="2" catid="$catid"  num="10"  order="a.id DESC" page="$page"} a.id 指的是按附表或主表的那个字段来排序;


   方法b[高级条件]:{pc:content action="wl"  type="2"  catid="$catid"  where="a.主表字段='值' and b.附表字段='值' and a.主表字段 in(值)" num="10"  order="a.id DESC" page="$page"}
                       不用写:a.id=b.id 标签内置呢;
以上b标签是针对原的pc高级标签改进的,a代表主表,b代表附表; 懂了吧,如果不使用catid自动处理下级栏目时,去掉或者写进where中即可!where写法可以搜一下get多表关联的贴子!


3、万能关联表关联查询, 多加二个条件:type="3"  table="表名"

方法:由于受系统限制,加表名有一点要求,有空的朋友或高手知道的改进一下,我没去研究工pc中去掉'的方法;须要写独立空白数据源,或者可以去借用get的方法,get标签是那个文件我还不知道,知道的告诉一下,

   目前能用的方法:在填写表名时按以下方法填,单表填写 table="表名" 如:table="phpcms_news"  phpcms代表你按装pc时前面的那个标识符,news表名;
                                  2个表以上要注意,为了配全pc标签。段要在第一个表的后面和最后一个表的标识符前面一个"`"附号,
                                  写法:table="phpcms_news` a, phpcms_news_data `b"或者除了前后不加,中间全加。
                                  写法:table="phpcms_news` `a`, `phpcms_news_data` `b"
                                  where 条件按正规写法即可;
  试例:

{pc:content action="wl"  type="3"   table="phpcms_news` `a`, `phpcms_news_data` `b`, `phpcms_news_data_c` `c"  where="a.id=b.id and b.id=c.id and a.主表字段='值' and b.附表字段='值' and c.N表字段='值'" num="10"  order="a.id DESC" page="$page"}