Mustache.php渲染多维数组生成API XML响应失败问题咨询
解决Mustache渲染XML模板时数据不显示的问题
嘿,我一眼就看出问题出在哪了——你的数据结构和模板的上下文完全不匹配!
你传给Mustache的是一个直接的对象数组,但XML模板里却用了{{#parts}}来遍历数据,可你的原始数据里根本没有parts这个键啊!Mustache找不到要遍历的目标内容,自然就啥都渲染不出来了。
核心解决方案:调整数据结构匹配模板
最简单的修复方式就是把你的数组包裹在一个带有parts键的对象里,让模板的遍历标签能正确定位到数据。
给你个具体的PHP代码示例:
// 假设你已经把JSON字符串解码成了数组$originalData $originalData = json_decode('[ {"UUID": "655482ab-38ee-433f-b310-1f6f227113b9", ...}, ... ]', true); // 将原始数组包装到parts键名下 $r = [ 'parts' => $originalData ]; // 重新执行渲染 $result = $m->render($template, $r); echo $result;
额外注意点
我还注意到模板里有个{{SupplierRefLineNum}}变量,但你的数据里并没有这个字段,渲染后这个位置会是空值。如果这不是你预期的效果,记得给每条数据补充这个字段哦。
这样调整之后,你的XML模板应该就能正确遍历并渲染每一条零件数据了!
内容的提问来源于stack exchange,提问作者MB34
相关产品推荐
相关产品推荐

