更改ExpressionEngine插件的解析顺序

时间:2011-12-07 22:46:39

标签: expressionengine

我在模板中有以下ExpressionEngine代码:

{exp:hits:count_hits_image entry_id='{exp:test:getpage tag="id"}'}

exp:test是我为了获得channel entry's ID而创建的插件。

我遇到的问题是exp:hitsexp:test之前正在解析,这会导致整个标记失效。

在解析外部标记{exp:test}之前,我该怎么做才能告诉ExpressionEngine先解析内部标记{exp:hits}

2 个答案:

答案 0 :(得分:7)

你需要做的是将你的插件变成一个标签对,所以它的工作原理如下:

{exp:test:getpage tag="id" parse="inward"}
    {exp:hits:count_hits_image entry_id='{id}'}
{/exp:test:getpage}

在你的插件中你会做这样的事情:

$vars = array();
$vars[0]['id'] = $results->row('id');
return $this->EE->TMPL->parse_variables($this->EE->TMPL->tagdata, $vars);

答案 1 :(得分:-1)

试试这个:

{exp:hits:count_hits_image entry_id='{exp:test:getpage tag="id"}' parse="inward"}