对于dedecms{dede:php}标签用法介绍,dedecmsdede感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解phpcms标签大全,并且为您提供关于dedecmscommon.f
对于dedecms {dede:php}标签用法介绍,dedecmsdede感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解phpcms标签大全,并且为您提供关于dede cms common.func.php helper函数问题、dede 上一篇 下一篇链接地址url,dede:prenext的URL获取、dede 列表标签 list: 应用大全 {dede:list}、dede 单表模型动态浏览设置 arclistsg arc.sglistview.class.php的宝贵知识。
本文目录一览:- dedecms {dede:php}标签用法介绍,dedecmsdede(phpcms标签大全)
- dede cms common.func.php helper函数问题
- dede 上一篇 下一篇链接地址url,dede:prenext的URL获取
- dede 列表标签 list: 应用大全 {dede:list}
- dede 单表模型动态浏览设置 arclistsg arc.sglistview.class.php
dedecms {dede:php}标签用法介绍,dedecmsdede(phpcms标签大全)
dedecms {dede:php}标签用法介绍,dedecmsdede
最简单的输入如
代码如下 复制代码
{dede:php}
$numA = 1;
$numB = 2;
echo $numA + $numB;
立即学习“PHP免费学习笔记(深入)”;
{/dede:php}
从上面语句可以看出dede:php标签可以名符其实的让在php中一样的用法,上面语句在php写法如下
代码如下 复制代码
$numA=1;
$numB=2;
echo $numA+$numB;
?>
是不是看上去很像啊,再看一个再有if else 条件判断的
代码如下 复制代码
[field:global runphp=''yes'' name=autoindex]
$a="";
$b="";
$c="";
if (@me > 3) @me = $c.@me.$b;
else @me = $a.@me.$b;
[/field:global]
这个在php中写法我就不写了,下面我们要看dede php标签结合起来sql标签使用。
结合SQL查询输出单条内容
代码如下 复制代码
{dede:php}
$row = $dsql->GetOne(''select id,typename from dede_arctype where id=2'');
print_r($row);
{/dede:php}
这个输出的内容是
Array
(
[id] => 2
[typename] => 问答
)
是不是很简单啊,有需要学习的朋友可以参考一下本文章哈。
from:http://www.111cn.net/wy/CMS/42052.htm
dede cms common.func.php helper函数问题
$_helpers = array();
function helper($helpers)
{//如果是数组,则进行递归操作
if (is_array($helpers))
{
foreach($helpers as $dede)
{
helper($dede);
}
return;
}
if (isset($_helpers[$helpers]))
{
continue;
}
if (file_exists(DEDEINC.''/helpers/''.$helpers.''.helper.php''))
{
include_once(DEDEINC.''/helpers/''.$helpers.''.helper.php'');
$_helpers[$helpers] = TRUE;
}
// 无法载入小助手
if ( ! isset($_helpers[$helpers]))
{
exit(''Unable to load the requested file: helpers/''.$helpers.''.helper.php'');
}
}
上面的函数把$_helpers定义为全局变量,在helper函数中直接只用,这种方式我印象中是不可以的,本地再次确认了一下,结果也是不可以的。应该在helper函数中通过global $_helpers;引入,或者最好是在函数中定义静态变量static $_helpers=array();更好吧。
dede 上一篇 下一篇链接地址url,dede:prenext的URL获取
在很多JS效果里面,需要知道上一篇 下一篇的文章地址,才可以正确的运行,而DEDE却没有这个标签,更改后台PHP文件,无疑为以后升级带来麻烦,所以只有从标签中获得
输出效果 "/skills/2009/4.html"
上一篇地址
{dede:prenext get=''pro'' runphp="yes"}
preg_match_all(''/<a.*?(?: |\\t|\\r|\\n)?href=[\''"]?(.+?)[\''"]?(?:(?: |\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim'', @me , $strResult, PREG_PATTERN_ORDER);
@me=$strResult[1][0];
{/dede:prenext}
下一篇地址
{dede:prenext get=''next'' runphp="yes"}
preg_match_all(''/<a.*?(?: |\\t|\\r|\\n)?href=[\''"]?(.+?)[\''"]?(?:(?: |\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim'', @me , $strResult, PREG_PATTERN_ORDER);
@me=$strResult[1][0];
{/dede:prenext}
dede 列表标签 list: 应用大全 {dede:list}
标签名称: list 功能说明: 表示列表模板里的分页内容列表 适用范围: 仅列表模板 list_*.htm 基本语法: {dede:list col='''' titlelen='''' infolen='''' imgwidth='''' imgheight='''' listtype='''' orderby='''' pagesize='''' orderway=''''}{/dede:list} 相关函数: 文
功能说明:表示列表模板里的分页内容列表
适用范围:仅列表模板 list_*.htm
基本语法:
{dede:list col='''' titlelen='''' infolen='''' imgwidth='''' imgheight='''' listtype='''' orderby='''' pagesize='''' orderway=''''}{/dede:list}
相关函数:
文件 \include\arc.listview.class.php 第 504 行
// 获得一个单列的文档列表
function GetArcList($limitstart=0,$row=10,$col=1,$titlelen=30,$infolen=250,
$imgwidth=120,$imgheight=90,$listtype="all",$orderby="default",$innertext="",$tablewidth="100",$ismake=1,$orderWay=''desc'')
参数说明:
col='''' 内容列数
titlelen='''' 标题长度
infolen='''' 内容摘要长度
imgwidth='''' 缩略图宽
imgheight='''' 缩略图高
orderby='''' 排序方式,有效的排序方式有 senddate、pubdate、id、click、lastpost、postnum ,默认为 sortrank
pagesize=''20'' 分页大小
底层模板字段:
ID (同 id),typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,
source,litpic (同 picname),pubdate,senddate,mid, lastpost,scores,goodpost,badpost,notpost,
description (同 infos),filename, image, imglink, fulltitle, textlink, typelink,plusurl, memberurl, templeturl,
stime (pubdate 的 "0000-00-00" 格式)
注:list 标记除了支持档案表的基本模板变量外,还支持附加表的字段,你可以在模型管理中知道附加表支持列表使用的字段有哪些。
使用实例:
这个标签是系统常用标签,通常用于显示列表内容,我们可以在系统的 list_*.htm 这类模板文件中看到这个标签,我们以 list_article.htm 为例:
{dede:list pagesize=''10''}
[field:array runphp=''yes'']@me = (empty(@me[''litpic'']) ? "" : ""); [/field:array]
[field:title/]
日期:[field:pubdate function="GetDateTimeMK(@me)"/]
点击:[field:click/]
好评:[field:scores/]
[field:description/]...
{/dede:list}
我们查看默认页面显示效果:
这个标签是同 pagelist 标签配合使用的,用于显示完整的列表分页效果。
列表标签中如果需要显示附加字段,需要在系统后台 [核心]-[内容模型管理],编辑一个内容模型(这里以软件为例),在 “列表附加字段” 加入相应字段即可。
如果需要修改列表显示的核心代码,可以查看 \include\arc.listview.class.php 的相关内容。
本文同步分享在 博客 “lxw1844912514”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。
dede 单表模型动态浏览设置 arclistsg arc.sglistview.class.php
比如,分类信息,内容页默认都是生成静态的,如果有需要设为动态访问的,可以参考如下方法:
arclistsg 标签,单表独立模型的文档列表调用标记
方法一:
在arclist标签使用中,其对应主表dede_archives中有一个字段ismake字段,其作用大家应该知道,值为-1时动态,我们的方法就是模仿这个。
单表模型的创建,默认是不没有ismake字段,因为我们手工创建一个ismake字段,设其传值为-1。
立即学习“PHP免费学习笔记(深入)”;
注:创建模型时,可以添加一个ismake字段。如果没有,则可以在对应表中直接添加,并在dede_channeltype表中的listfields中加上ismake字段,此举为添加查询字段。如果最后一步都完了,发现不起作用,可以查询listfields是否有ismake
修改源码:
第一,arclistsg 源码中,大约在264行,找到$row[''arcurl'']这个,GetFileUrl()【这个函数在 helpers/channelunit.helper.php中】,就是获取url地址用的,其中有一个ismake参数,有兴趣可以看看这个函数。
我们的目的就是将GetFileUrl()参数中的 1[$row[''title'']后面的1] 改为$row[''ismake'']
注:如果只需要arclistsg标签显示动态,则到此步就可以了
第二,修改arc.sglistview.class.php,大约760行,将$row[''ismake''] = 1;注释掉,下其下面的几行,有$row[''arcurl''] = GetFileUrl()有与第一步中的代码,改成第一步中一样的即可
到此,基本上可以实现动态浏览,不过在新增或修改时还是会生成html文件,将对应发布程序或修改程序将生成html的代码注释就可以了。
方法二:
其实和方法一是一个道理,如果不想建立ismake字段,将对应的地方法修改为-1就可以了,不过这样做兼容性不怎么好,建议方法一
关于dedecms {dede:php}标签用法介绍,dedecmsdede和phpcms标签大全的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于dede cms common.func.php helper函数问题、dede 上一篇 下一篇链接地址url,dede:prenext的URL获取、dede 列表标签 list: 应用大全 {dede:list}、dede 单表模型动态浏览设置 arclistsg arc.sglistview.class.php的相关信息,请在本站寻找。
本文标签: