• PHPCMS 标签与示例


    一、SEO优化:

    获取栏目的关键字:{$SEO['keyword']}
    获取栏目的描述:{$SEO['description']}
    判断栏目的title是否存在或为空,如果是的话,则用站点的title替代 : 
    {if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}

    二、模板加载:

    {template "content" , "header_index"}
    * header_index 要加载的模板名称。
    * 该标签只能加载自定义的模板,对于预定义好的模板是不能进行加载的。
    * 预定义的模板名称:
    	category_   栏目页模板的名称都是如此命名
    	list_	列表页的模板都是如此命名
    	article_	内容页的模板都是如此命名
    	index.html	首页模板的命名
    	default.html	超首模板的命名
    	page_ 	单页面的模板都是如此命名
    	show_     内容页都是如此命名

    三、PC 内容查询标签:

    一般格式的查询:
    {pc:content action="lists" catid="$catid" num="5" order="listorder,id DESC"  page="$page" thumb="1"  start="5"}
    	{loop $data $r}
    		
    	{/loop}
    {/pc}
    
    * action 规定生成的动作,默认的是lists。如果取值 为position,表示读取推荐位中内容。那么catid就要改成了posid。
    * catid 栏目ID,规定从哪个栏目中抽取数据。
    * num 表示生成的数据条目的数量。
    * order 表示排序的方式,DESC为降序,ASC为升序。
    * page 如果指定了改属性,表示有分页。最终的分页数据则有分页标签进行调用。
    * thumb 表示内容是否有缩略图。
    * start 表示起始的位置。
    
    万能查询语句:
    万能查询实际上就是PC标签+SQL语言来直接对数据表进行查询。
    {pc:get sql="select catname from v9_category where catid='$catid'" return "data"}
    	{loop $data $r}
    	{/loop}
    {/pc}
    
    * sql 中保存的是要执行的SQL语句。
    	- catname 要查询的字段
    	- v9_category 表名
    	- catid 记录的关键字段。
    * data中保存的是返回到的数据,这些数据都会以一个数组的形式保存到$data中,然后以$r[catname]的方式进行调用。

    四、页面相关的常用标签:

    {siteurl($siteid)}   显示首页的URL地址。
    {$catid}    |  {$CAT[catid]}              显示当前栏目的ID。 
    {$catname}  |  {$CAT[catname]}         显示栏目的名称(中文)。
    {$catdir}	|  {$CAT[catdir]}            显示栏目的名称(英文)。
    {$parentid} 	  拿到父栏目的id
    {$top_parentid}	  拿到顶级栏目的id
    {$inputtime}	  拿到文章输出时间
    {$title}          拿到文章的标题
    {$id}        拿到文章的文章ID
    {$modelid} 拿到模型的模型ID
    {catpos($catid)} 显示面包屑导航。 {$content} 加载内容。 {$page} 显示分页。 *注:{ } 该符号专用于页面展示标签数据时使用。运算判断无需添加。 =========== 依附于有数据 $data的标签 ================ {$r[title]} 显示文章的标题。 {str_cut($r[title],30,'.....')} 显示裁剪后的标题。 {$r[url]} 显示文章的链接。 {$r[thumb]} 显示文章的缩略图。 {$r[style]} 拿到内嵌样式 {thumb($r[thumb],90,90)} 显示裁剪后的缩略图。 {date("y-m-d h:m:s",$r[inputtime])} 格式化时间输出。

    五、广告位调用:

    {loop $pinfo $p}
    	document.write('<li><a href="{$p['setting'][1]['linkurl']}" class="fl" target="_blank">{$p['name']}</a><em class="fr">{$p['setting'][1]['title']}</em></li>');
    {/loop}
    
    {loop $pinfo $p}
    	document.write('<a href="{$p['setting'][1]['linkurl']}" target="_blank" title="{$p['setting'][1]['alt']}"><img src="{$p['setting'][1]['imageurl']}" alt="{$p['setting'][1]['alt']}" 
         height="{$height}" width="{$width}"/></a>'); {/loop}

    六、基础语法:

    定义变量 {php $num=0}
     * 注意有些变量是系统自定义的,例如:$catid 、$CATEGORYS 、$parentid 等。
    判断 {if $num==0}
    双分支判断 {if $num==0} {else} {/if}
    结合变量来控制列表生成数量:
    	{php $num=0}
    	{pc:content action="lists" catid="67" num="30" order="listorder , id DESC" page="$page"}
    		{loop $data $r}
    				 {php $num++}
    				 <li> <a href="{$r[url]}" target="_blank">{$r{title}}</a></li>
    			{if $num%5==0}<hr />{/if}
     			{/loop}
    	{/pc}

    七、实例与技巧:

    #1 loop中拿到文章的属性:

    {pc:content  action="position" posid="14" order="listorder DESC,id DESC" num="5"}
    	{loop $data $r}
    		$r[catid] //当前文章所属栏目id
    		$r[catdir] // 当前文章所属栏目英文名称
    		$r[catname] //当前文章所属栏目中文名称
    
    	{/loop}
    {/pc}

    #2 PC标签的三种用处:

    循环列表:
    	{pc:content  action="lists" catid = }
    循环推荐位
    	{pc:content  action="position" posid = }
    循环栏目:
    	{pc:content action="category" catid=}

    #3 根据栏目名称获得栏目ID

    <?php
    	$result = array();
    	$catList = array();
    	foreach ($CATEGORYS as $key=>$val) { 
    		foreach ($val as $key1=>$val1) { 
    			if($key1 == 'catdir'){
    				$result[$key] = $val[$key1];
    			}
    		}
    	}
    	foreach ($result as $a=>$val){
    		$catList[$val] = (String)$a;
    	}
    ?>
    //调用方法:$catList['categoryName']

    #4 CATEGORYS数组实例使用

    * explode -- 将字符串转换为数组
    * empty -- 判断是否为空
    * array_keys -- 以参数数组的“键”组成一个新的数组返回。
    * end -- 返回数组最后一个数组元素。
    
    <ul class="clearfix gamedata-list">
    	<?php
    		$strchildid = $CATEGORYS[$catid]['arrchildid'];
    		$arrchildid =  explode(',',$strchildid);
    		if(!empty($arrchildid)){
    			foreach($arrchildid as $v){
    				if($v == $catid) {
    					countinue;//过滤自己
    				}else if($CATEGORYS[$v]['parentid'] != $catid){
    					countinue;//过滤非直接子类
    				}else{
    	?>
    					<li class="tit newplayer nl_{$CATEGORYS[$v]['catdir']}"><span></span>{$CATEGORYS[$v]['catname']}</li>
    					<li class="main-text">
    	<?php
    					$strchildid2 = $CATEGORYS[$v]['arrchildid'];
    					$arrchildid2 =  explode(',',$strchildid2);
    					if(!empty($arrchildid2)){
    						foreach($arrchildid2 as $v2){
    							if($v2 == $v) {
    								countinue;//过滤自己
    							}else{
    	?>
    								
    									<dl>
    										<dt><span></span>{$CATEGORYS[$v2]['catname']}:</dt>
    										<dd>
    											{pc:content action="lists" catid="$v2" num="20" order="listorder DESC,id DESC"}
    											{php $e= end(array_keys($data))}
    											{loop $data $key $r}
    												<a href="{$r[url]}" target="_blank">{$r[title]}</a>
    												{if $key != $e}
    												<span>|</span>
    												{/if}
    											{/loop}
    											{/pc}
    										</dd>
    									</dl>
    								
    	<?php
    							}
    						}
    					}
    				}
    			}
    		}
    	?>
    	</li>
    </ul>

    #5 pc标签使用示例

    <div class="gamedata-content">
    {pc:content action="category" catid="$catList['gamedata']" order="listorder DESC" num ="100" }
    	{loop $data $r}
    		<h3 class="gamedata-title">{$r[catname]}</h3>
    		<ul class="gamedata-content-list">
    			{pc:content action="category" catid="$r[catid]" order="listorder DESC" num="500" }
    				{loop $data $s}
    					<li>
    						<dl class="clearfix">
    							<dt>{$s[catname]}<i></i></dt>
    							<dd>
    								{pc:content action="lists" catid="$s[catid]" num="1000" order="listorder,id DESC"}
    									{php $e= end(array_keys($data))}
    									{loop $data $key $v}
    										<a href="{$v[url]}" target="_blank">{$v[title]}</a>
    										{if $key != $e}
    											<span>|</span>
    										{/if}
    									{/loop}
    								{/pc}
    							</dd>
    						</dl>
    					</li>
    				{/loop}
    			{/pc}
    	{/loop}
    {/pc}
    </div>

    八、CATEGORYS 常用命令:

    $CATEGORYS(栏目命令) 标签
    $CATEGORYS是一个二维数组,它用于保存当前栏目的相关信息。
    $CATEGORYS[65][catname]返回指定栏目的栏目名称
    $CATEGORYS[$catid][catid] 栏目ID
    $CATEGORYS[$catid][module] 栏目所在的模块
    $CATEGORYS[$catid][type] 栏目类型
    $CATEGORYS[$catid][modelid] 栏目所属模型id
    $CATEGORYS[$catid][catname] 栏目名称
    $CATEGORYS[$catid][style] 栏目名称样式
    $CATEGORYS[$catid][image] 栏目图片
    $CATEGORYS[$catid][catdir] 栏目路径
    $CATEGORYS[$catid][url] 目录url
    $CATEGORYS[$catid][parentid] 栏目的父id
    $CATEGORYS[$catid][arrparentid] 所有上级栏目ID
    $CATEGORYS[$catid][parentdir] 父栏目的路径
    $CATEGORYS[$catid][child] 是否有子栏目
    $CATEGORYS[$catid][arrchildid] 栏目的所有子栏目id
    $CATEGORYS[$catid][items] 栏目信息数
    $CATEGORYS[$catid][ismenu] 栏目是否显示导航
    {$CATEGORYS[$catid][description]} 栏目描述
    {$CATEGORYS[$catid][hits]} 栏目点击数
    {$CATEGORYS[$parentid][catid]} 父栏目ID
    {$CATEGORYS[$parentid][catname]} 父栏目名称
    {$CATEGORYS[$top_parentid][catid]} 顶级栏目ID
    {$CATEGORYS[$CATEGORYS[$CAT[parentid]][parentid]][catname]} 上上级栏目名称
    {$CATEGORYS[$CATEGORYS[$CAT[parentid]][parentid]][url]} 上上级栏目链接
  • 相关阅读:
    训练深度学习网络时候,出现Nan 或者 震荡
    Jupyter Notebook 的快捷键
    pyspark RandomForestRegressor 随机森林回归
    深度学习图像标注工具VGG Image Annotator (VIA)使用教程
    python 中 with 用法
    python 报错 SyntaxError: Non-ASCII character
    YOLO 详解
    Spark与Pandas中DataFrame对比
    利用WGET下载文件,并保存到指定目录
    http 三次握手
  • 原文地址:https://www.cnblogs.com/HCJJ/p/phpcms.html
Copyright © 2020-2023  润新知