0

PHP用のMustacheを使用してテンプレートを作成し、方法がわからない問題が発生した場合に、Mustacheを実行しようとしています。

約6の値の倍数を持つことができるDesignationsというメンバーを持つ配列があります。それぞれの指定の画像を含む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>

パーシャルの使用を推測していますが、これを行う方法がわかりません。

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 に答える