织梦如何让自定义php文件加载指定模板文件,并且让模板文件支持如{dede:arclist}{/dede:arclist},{dede:sql}{/dede:sql}等全局标签的调用,本文适合解决“不与特定栏目或特定文章有关的信息调用”或不根据文章id来调用文章,即动态页面url中不包含文章id或栏目id,如网站的伪静态与真静态混合使用的情况。
方法如下:
1.php文件建立
在网站plus目录下新建test.php文件,输入以下语句:
<?php
require_once(dirname(__FILE__)."/../include/common.inc.php");
require_once DEDEINC.'/arc.partview.class.php';
$arc=new PartView();
$tempfile = $cfg_basedir.$cfg_templets_skin.'/test.htm';//定义模板路径
$arc->SetTemplet($tempfile);//设定模板文件路径
$arc->Display();
2.建立模板文件 在模板目录下新建一模板文件,如test.htm,在里面可按需要进行织梦标签的调用,如:{dede:arclist}<a href="[field:arcurl/]">[field:title/]</a>{/dede:arclist} 注意:此处的test.htm要与步骤一中的定义模板路径中的文件名一致 特殊标签处理:sql标签 sql标签需要用到环境变量文章id或栏目id,而此时动态页面url中又不包含,故必需对其进行单独处理:
{dede:php}
$refObj->Fields[id]=$result[id];
$refObj->Fields[typeid]=$result[typeid];
{/dede:php}
因不涉及具体文章或栏目id,所以在用arclist 标签时,需要指定相应栏目id