0

我正在尝试使用 Mustache for PHP 做一些 Mustache 模板,但遇到了一个我不知道该怎么做的问题。

我有一个数组,其中有一个名为 Designations 的成员,它可以有大约 6 个值的倍数。我需要为每个名称返回一个带有图像的 html 表。

假设该数组具有以下值:

$data = array("Designations"=>"CC,RM,SR", "YearsDesignated" => "1989, 2003, 2006");

我将如何使用 Mustache 生成这个结果表:

<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%;">&nbsp;</td>
      <td style="text-align:center; width: 16%;">&nbsp;</td>
      <td style="text-align:center; width: 16%;">&nbsp;</td>
    </tr>
  </tbody>
</table>

我假设使用了 Partial 但不确定如何执行此操作。

4

2 回答 2

0

最终,我最终这样做了:

胡子模板:

<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>
于 2018-09-19T15:45:30.910 回答
-1

尝试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>";
于 2012-08-08T20:53:33.253 回答