dede模板使用php语句做判断,输出结果中怎么再引用模板?

做了一个视频播放的页面,在模板中写了一段
{dede:php}
require_once(DEDEINC.'/memberlogin.class.php');
$cfg_ml = new MemberLogin();
if($cfg_ml->IsLogin()){
echo "已经登陆";
}else{
echo "没有登陆";
}
{/dede:php}
根据是否登陆输出不同的结果,就这样转出文字是没有问题的,但我要输出的结果分别是再引用模板文件,如下:
{dede:php}
require_once(DEDEINC.'/memberlogin.class.php');
$cfg_ml = new MemberLogin();
if($cfg_ml->IsLogin()){
echo "{dede:include filename="plus/ckplayer.htm"/}";
}else{
echo "{dede:include filename="login.htm"/}";
}
{/dede:php}
分别对应一个视频播放的插件和一个登陆框,没有效果,不知道该怎么输出引用模板了。

require_once DEDEINC."/arc.partview.class.php";
$pv = new PartView();
$pv->SetTemplet(模板文件路径);
$pv->Display();
把这段放进你需要的地方追问

有两个模板,一个是登陆前的模板,一个是登陆后的模板,怎么写?

追答

require_once(DEDEINC.'/memberlogin.class.php');
require_once DEDEINC."/arc.partview.class.php";
$pv = new PartView();
$cfg_ml = new MemberLogin();
if($cfg_ml->IsLogin()){
$pv->SetTemplet(登陆后的模板文件路径);
$pv->Display();
}else{
$pv->SetTemplet(登陆前的模板文件路径);
$pv->Display();
}

追问

{dede:php}
...
$pv->SetTemplet(./templets/plus/ckplayer.htm);
$pv->Display();
}else{
$pv->SetTemplet(./templets/me/dlq.htm);
...
{/dede:php}
这样调用出来之后,什么也不显示,如果模板不存在,会提示一个htm no find

追答

你的模板文件怎么可以这样写呢最起码连印号“”都丢了, $pv->SetTemplet(DEDEROOT."/templets/plus/ckplayer.htm”); 这样还有可能。

追问

不好意思,真是麻烦您了,这样调用模板可以出来,不过又有新问题了,两个模板里面调用文章的标签参数无效了,例如{dede:field name="video_address"/},{dede:field.title/}这些无效

追答

{dede:php} {/dede:php}
你为什么要用这个标签,这对标签是用在静态页面的,我觉得你上代码不应该放进这对标签里面,你放进这里面{dede:field name="video_address"/},{dede:field.title/}这些就变得无效了,所以我觉得你还是把下面这段代码放进一个PHP文件再用,而没必要加{dede:php} {/dede:php}对标签

...
$pv->SetTemplet(./templets/plus/ckplayer.htm);
$pv->Display();
}else{
$pv->SetTemplet(./templets/me/dlq.htm);
...

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网