更改ExpressionEngine插件的分析顺序
我在模板中具有以下ExpressionEngine代码:
{exp:hits:count_hits_image entry_id='{exp:test:getpage tag="id"}'}
其中, exp:test
是我创建的一个插件,用于获取频道条目的ID。
我遇到的问题是exp:hits
在exp:test
之前正在解析exp:hits
,这会使整个标记失效。
在解析外部标记{exp:hits}
之前,我可以做些什么来告诉ExpressionEngine首先解析内部标记{exp:test}
{exp:hits}
?
你需要做的是把你的插件变成一个标签对,所以它的工作原理是这样的:
{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);
尝试这个:
{exp:hits:count_hits_image entry_id='{exp:test:getpage tag="id"}' parse="inward"}
链接地址: http://www.djcxy.com/p/66015.html
上一篇: Changing an ExpressionEngine Plugin's Parse Order
下一篇: ExpressionEngine: Sort channel listing by Related Entry