我正在尝试使用 Moustache 进行一些 Moustache 模板化,并遇到了一个我不知道该怎么做的问题。
我有一个数组,其中包含一个名为 Name 的成员,它可以有大约 6 个值的倍数。我需要返回一个 html 表,其中包含每个名称的图像。
假设数组具有以下值:
$data = array("Designations"=>"CC,RM,SR", "YearsDesignated" => "1989, 2003, 2006");
我将如何使用 Moustache 生成这个结果表:
<table class="table table-condensed" style="width: 100%;">
<tbody>
<tr>
<td style="text-align:center; width: 16%;"><img src="images/cc-46x40.png" alt=""><br />CC Since: 1989</td>
<td style="text-align:center; width: 16%;"><img src="images/rm-30x40.png" alt=""><br />RM Since: 2003</td>
<td style="text-align:center; width: 16%;"><img src="images/sr-40x40.png" alt=""><br />SR Since: 2006</td>
<td style="text-align:center; width: 16%;"> </td>
<td style="text-align:center; width: 16%;"> </td>
<td style="text-align:center; width: 16%;"> </td>
</tr>
</tbody>
</table>
我假设使用部分,但不确定如何做到这一点。
最终,我最终做到了:
小胡子模板:
<table class="table table-condensed" style="width: 100%;">
<tbody>
<tr>
{{# Designations}}
<td style="text-align:center; width: 16%;"><img src="images/{{Desig}}-46x40.png" alt=""><br />{{Desig}} Since: {{Year}}</td>
{{/ Designations}}
</tr>
</tbody>
</table>
数据:
$data = array("Designations"=>array(
array("Desig"=>"CIC", "Year"=>1989),
array("Desig"=>"CRM", "Year"=>2003),
array("Desig"=>"CSRM", "Year"=>2006)
)
);
最终渲染:
<table class="table table-condensed" style="width: 100%;">
<tbody>
<tr>
<td style="text-align:center; width: 16%;"><img src="images/CIC-46x40.png" alt=""><br />CIC Since: 1989</td>
<td style="text-align:center; width: 16%;"><img src="images/CRM-46x40.png" alt=""><br />CRM Since: 2003</td>
<td style="text-align:center; width: 16%;"><img src="images/CSRM-46x40.png" alt=""><br />CSRM Since: 2006</td>
</tr>
</tbody>
</table>
尝试exploding
数组值
$data = array("Designations"=>"CC,RM,SR", "YearsDesignated" => "1989, 2003, 2006");
$array1 = explode(",",$data["Designations"]);
$array2 = explode(",",$data["YearsDesignated"]);
对于标记,尽管不使用该特定库。
echo '<table class="table table-condensed" style="width: 100%;"><tbody><tr>';
foreach($array1 as $offset=>$value){
echo '<td style="text-align:center; width: 16%;">
<img src="images/'.strtolower($value).'-thumb.png" alt="">
<br />'.$value.'Since: '.$array2[$offset].'</td>';
}
echo "</tr></tbody></table>";