dedecms,php问题,急
不少朋友需要在DedeCms的问答系统、留言本、会员空间导航里调用系统标签,但默认是不支持系统标签调用的,需要对系统文件进行简单的修改。
第一步:打开"/include/commonfuncphp",
然后在该文件中加入一个函数,代码如下:
function pasterTempletDiy($path)
{
require_once(DEDEINC"/arcpartviewclassphp");
global $cfg_basedir,$cfg_templets_dir;
$tmpfile = $cfg_basedir$cfg_templets_dir"/"$path;//模版文件的路径
$dtp = new PartView();
$dtp->SetTemplet($tmpfile);
$dtp->Display();
}
第二步,加上上面的函数之后,也就可以调用主站下的/templets/default/所有模板文件,比如要在问答模块的主页调用主站的随机文章,你可 以在主站 模板/templets/default/下新建一个headhtm文件,然后在headhtm里面加入你需要的标签和标签属性:
{dede:arclist titlelen='100' row='15' orderby='rand'}
<li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
{/dede:arclist}
第三部,自定义yourfilephp文件,内容如下
<php
require_once("//include/commonincphp");
>
想读取公共文件,如:{dede:include filename=''headhtm/}就使用<php pasterTempletDiy("cdqx/headhtm");>
大功告成!
即可使用<php pasterTempletDiy("default/headhtm");>
梓雪您好,可能是你的安装方式不对,我刚学习dedecms的时候也出现了这样的问题。建议你找一个好的安装教程,再安装一次。 初次接触dedecms,安装好iis50(我刚开始用xp的系统),把dedecms v51的upload文件扔到wwwroot里面就用IE浏览http://localhost/indexphp,结果显示出几行代码,于是就去网上找方法,原来要安装dedecms,需要先安装好php和mysql。
首先我们来安装php环境。
1、 下载php5的zip文件包,下载地址http://wwwphpnet/downloadphp ,我这里使用的是php526。把该文件解压到C:\php5文件夹下(非统一,按照你自己的文件位置也可以),将phpini-dist文件改名 为phpini,放到C:\WINDOWS目录下,同时复制libmysqldll和php5tsdll到C:\WINDOWS \system32。
2、安装IIS(安装好后如果遇到IIS网站启动错误,一般都是因为有程序占用了80端口,如迅雷等会占用此端口,可以改掉迅雷的端口为其他端口即可), 打开IIS默认网站的属性对话框, 切换到“主目录”选项卡,然后点“配置”打开应用程序配置窗口,点“添加”打开“添加/编辑应用程序扩展名映射”对话框,在“扩展名”中输入“,php” (不含引号),在可执行文件输入中,指向C:\PHP5\php5isapidll,并选中脚本引擎和检查文件是否存在的复选框,一路确定,退出 IIS。
3、此时服务器已经支持php了,但此时打开php文件可能会显示403错误,在主目录中“执行权限”需更改为脚本和可执行文件,显示就不会出错了。
4、下面对phpini进行配置让其支持GD库和MYSQL。此时修改phpini-recommended为phpini,并对phpini进行修改:
extension_dir = "/" 修改为extension_dir = "C:\php5\ext"
找到;extension=php_gd2dll和;extension=php_mysqldll,把这2句前面的“;”去掉;
5、保存phpini,重启IIS。
6、到此时在安装CMS中可能会碰到MYSQL支持和GD支持为OFF的情况,请复制C:\php5\ext中的php_mbstringdll,php_mysqldll,php_gd2dll到C:\WINDOWS\SYSTEM32中。
安装MYSQL,去华军或者其他官方知名网站下载mysql下来,安装mySQL50。下面是中间的部分截图,没有在下面找到的请直接NEXT。
本人在测试机上C盘系统的格式为NTFS,需要修改安全选项,给users等组足够的读写权限。
GD 支持 On Off(不支持将导致与相关的大多数功能无法使用或引发警告)
MySQL 支持 On Off(不支持无法使用本系统)
当为off时的解决方案就是复制 php_mysqldll,php_mbstringdll,php_gd2dll到 C:\WINDOWS\SYSTEM32中
这个问题的关键在于你要理解
foreach(Array('$_GET','$_POST','$_COOKIE') as $_request)
这里 $_request 实际上是一个二维数组 。本身$_GET $_POST $_COOKIE就是系统数组变量 通过 Aarry 将其动态生成为 二维数组。你可以用 is_array($_POST)来判断。
这句话 foreach遍历后组变量$_request实际上的值是 通俗将就是指向'$_GET','$_POST','$_COOKIE'这三个东西的 指针。
因此 再次遍历 就能把具体的 '$_GET','$_POST','$_COOKIE' 内容echo出来了
如果对二维数组遍历理解不透 去查查PHP手册。特别强调下 Aarry的用法。PHP中Array 是比较强大的。
对 系统变量数组有什么疑问 你可以 参考下 以下网址
http://wwwphpenet/manual/reservedvariablesphp
($_GET---通过 HTTP GET 方法传递的变量组成的数组。是自动全局变量。)
0条评论