Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在表达式引擎模板外部分析模板标记_Php_Templates_Codeigniter_Expressionengine - Fatal编程技术网

Php 在表达式引擎模板外部分析模板标记

Php 在表达式引擎模板外部分析模板标记,php,templates,codeigniter,expressionengine,Php,Templates,Codeigniter,Expressionengine,我正在运行ExpressionEngine2.3.0并使用Channel Images插件 该站点的一部分非常复杂,我通过插件而不是使用EE的模板逻辑来实现。我基本上得到的是一个CodeIgniter控制器和视图,它使用我指定的EE模板标记在站点上调用 我想使用通道图像使我在视图中显示的通道数据看起来更好一些。问题是。。。Channel Images函数似乎不允许我将其称为PHP。因为EE模板参数 因此,我决定尝试通过解析器运行模板块。但我没有得到结果。有什么想法吗?或者直接调用函数的变通方法

我正在运行ExpressionEngine2.3.0并使用Channel Images插件

该站点的一部分非常复杂,我通过插件而不是使用EE的模板逻辑来实现。我基本上得到的是一个CodeIgniter控制器和视图,它使用我指定的EE模板标记在站点上调用

我想使用通道图像使我在视图中显示的通道数据看起来更好一些。问题是。。。Channel Images函数似乎不允许我将其称为PHP。因为EE模板参数

因此,我决定尝试通过解析器运行模板块。但我没有得到结果。有什么想法吗?或者直接调用函数的变通方法

<?php $this->EE =& get_instance();

$img_tpl = '{exp:channel_images:images entry_id="'. $item['id'] .'" cover_only="yes"}
            <div style="float:left; display:inline; width:125px;">
                    <a href="{image:url:large}" title="{image:title}"><img src="{image:url:small}" alt="{image:title}" /></a>
                    <p>{image:description}</p>
            </div>
            {/exp:channel_images:images}';

$opts = array('');
$img = $this->EE->output->set_output($this->EE->TMPL->parse_variables($this->EE->TMPL->parse_globals($img_tpl), array($opts)));

?>

你会在这里过得很愉快的。EE前端解析的任何部分都不会认为它将从EE外部调用

parse_变量和parse_全局变量不解析完整的EE标记对,而只解析单个变量,这就是为什么没有得到结果的原因

我真的建议使用EE模板来实现这一点

我不断重温这个答案,并想补充一下我是如何在ExpressionEngine 3中解决这个问题的

//将我自己的TMPL实例作为myTMPL加载 ee->load->librarytemplate,空,myTMPL; //以字符串形式获取模板,以名称=>值对形式获取变量 $template=ee->myTMPL->fetch_templatemygroup,mytemplate,false; $variables=arrayname=>johnq.Public先生; //呈现模板 $html=ee->myTMPL->parse_variables$template,array$variables;//合并变量 ee->myTMPL->解析$html;//句柄条件似乎不运行插件 $html=ee->myTMPL->parse_globalsee->myTMPL->final_template;//返回输出