PHPCMS快速建站系列之标签循环嵌套
标签循环嵌套方法,可以实现对PC标签循环调用,代码如下:
在此文件里/phpcms/lib/classes/template_cache.class.php 里的 template_parse 方法里,添加如下代码:
$str = preg_replace ("/\{loop(\S+)\s+(\S+)\s+(\S+)\}/","<?php \$n\\1=1;if(is_array(\\2)) foreach(\\2 AS \\3) { ?>", $str );
$str = preg_replace ("/\{loop(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\}/","<?php \$n\\1=1; if(is_array(\\2)) foreach(\\2 AS \\3 => \\4) { ?>", $str );
$str = preg_replace ("/\{\/loop(\S+)\}/","<?php \$n\\1++;}unset(\$n\\1); ?>", $str );
前台调用方法如下:
{pc:content action="category" catid="0" num="60" order="listorder ASC"}
{loop $data $r}
<dd> <a href="{$r[url]}">{$r[catname]}</a>
<ul>
{pc:content action="category" catid="$r[catid]" num="60" order="listorder ASC" return="data2"}
{loop2 $data2 $v}
<li><a href="{$v[url]}">{$v[catname]}</a></li>
{/loop2}
{/pc}
</ul>
</dd>
{/loop}
{/pc}
PHPCMS快速建站系列之标签循环嵌套的更多相关文章
- PHPCMS快速建站系列之标签调用出错
{pc:content action="position" posid="24" order="listorder ASC" thumb=& ...
- PHPCMS快速建站系列之phpcms v9 模板标签说明整理
[摘要]本文介绍phpcms v9中模板标签使用说明. {template "content","header"} 调用根目录下phpcms\template\ ...
- PHPCMS快速建站系列之常用标签
<span class="Nmore"><a href="/index.php?m=content&c=index&a=lists&am ...
- PHPCMS快速建站系列之pc:get标签的应用
GET标签使用方式如下: {pc:get sql="SELECT * FROM phpcms_member" cache="3600" page="$ ...
- PHPCMS快速建站系列之 pc标签where中如何使用变量
{pc:content action="lists" catid="$catid" where="typeid='$t'" order=&q ...
- PHPCMS快速建站系列之需要掌握的函数
路径:phpcms\libs\classes\model.class.php /** * 执行sql查询 * @param $where 查询条件[例`name`='$name'] * ...
- PHPCMS快速建站系列之类别调用及类别显示页面
在需要调用类别的地方,比如列表页,首先写循环前面写上一句: <?php $TYPE = getcache('type_content','commons');?> 这句就是把类别缓存加载进 ...
- PHPCMS快速建站系列之自定义分页函数
内容分页的实现方法:{pc:content action="lists" catid="$catid" order="id DESC" nu ...
- PHPCMS快速建站系列之邮箱验证
1. 登录163邮箱,->设置,开启POP3服务->把SMTP服务器地址复制到PHPCMS后台. 2.开启客户端授权密码 3.填写相关信息,.可以在测试邮箱填入邮箱地址测试
随机推荐
- SAS信用评分之逻辑回归的变量选择
SAS信用评分之逻辑回归的变量选择 关于woe的转化,这一部在之前的这篇文章:sas批量输出变量woe值中已经写了,woe也只是简单的公式转化而已,所以在这系列中就不细究了哈.这次的文章我想来讲逻辑回 ...
- 封装原生JavaScript的ajax
function obj2str(data) { data = data || {}; // 如果没有传参, 为了添加随机因子,必须自己创建一个对象 data.t = new Date().getTi ...
- SecondaryNameNode 理解
NameNode将对文件系统的改动追加保存到本地文件系统上的一个日志文件(edits).当一个NameNode启动时,它首先从一个映像文件(fsimage)中读取HDFS的状态,接着应用日志文件中的e ...
- python在WIN下CMD运行中文乱码及python 2.x python 3.x编码问题
在CMD中运行python代码时,我们会发现,即使在代码中加入# -*- coding:utf-8 -*- 这段代码,中文仍然会乱码.如下: # -*- coding:utf-8 -*- conten ...
- 【转载】TSN简介及相关资源
原文:https://blog.csdn.net/u012692537/article/details/86188392 一.简介 1.1 什么是TSN TSN(Time Sensitive Netw ...
- ubuntn右上角小键盘消失及fictx切换输入法快捷键
Ubuntu任务栏右上角的小键盘消失,打开系统设置-文本输入-左下角将当前输入法显示在任务栏. 切换输入法快捷键,打开系统设置 > 文件输入 >切换到下一个源(上一个源)的快捷键设置一个不 ...
- 微信小程序滚动到某个位置添加class效果。
<scroll-view scroll-y="true" style="height:100vh;" bindscrolltoupper="up ...
- Wamp 扩展Oracle Oci
参考网址: http://www.cnblogs.com/azhw/p/4599632.html
- Android获取App版本号和版本名
1 //获取版本名 public static String getVersionName(Context context) { return getPackageInfo(context).vers ...
- 话说placeholder
placeholder 属性提供一种提示(hint),描述输入域所期待的值. 注释:placeholder 属性适用于以下类型的 <input> 标签:text, search, url, ...