我简化了宏的内容以消除其他错误。
宏:
public function getDeliveryAjax($template = 'default') {
list(
$templateBlock,
$templateLineItem,
$templateMapItem,
$templateJavascript
) = def_module::loadTemplates('emarket/delivery/'.$template,
'delivery_tab_block',
'delivery_line_item',
'delivery_map_item',
'delivery_javascript'
);
$block_arr['attribute:delivery_line_items'] = 'text1';
$block_arr['attribute:delivery_map_items'] = 'text2';
$block_arr['attribute:delivery_javascript_items'] = 'text3';
return def_module::parseTemplate($templateBlock, $block_arr);
}
default.tpl 模板位于路径 tpls/emarket/delivery/default.tpl:
<?php
$FORMS = Array();
$FORMS['delivery_tab_block'] = <<<END
<div>
<table class="b-order_delivery">
%delivery_line_items%
</table>
<table class="b-order_delivery">
%delivery_map_items%
</table>
<div id="map">
%delivery_javascript_items%
</div>
</div>
END;
我通过浏览器启动链接:http: //site.ru/udata/emarket/getDeliveryAjax
在输出我得到:
<udata xmlns:xlink="http://www.w3.org/TR/xlink" delivery_line_items="text1" delivery_map_items="text2" delivery_javascript_items="text3" module="emarket" method="getDeliveryAjax" generation-time="1.222877"/>
<!--
This page generated in 2.299103 secs by XSLT, HTTP SCHEME MODE
-->
如何将宏数据与模板一起输出?
我在其他宏的示例上做所有事情。