PHP部分模板的小胡子

PHP部分模板的小胡子,php,templates,Php,Templates,我正在尝试使用moustacheforphp做一些Moustache模板,但遇到了一个我不知道如何做的问题 我有一个数组,其中有一个名为Designations的成员,可以有大约6个值的倍数。 我需要返回一个html表,其中包含每个名称的图像 假设数组具有以下值: $data = array("Designations"=>"CC,RM,SR", "YearsDesignated" => "1989, 2003, 2006"); 我将如何使用小胡子生成此结果表: <table

我正在尝试使用moustacheforphp做一些Moustache模板,但遇到了一个我不知道如何做的问题

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

假设数组具有以下值:

$data = array("Designations"=>"CC,RM,SR", "YearsDesignated" => "1989, 2003, 2006");
我将如何使用小胡子生成此结果表:

<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>


抄送日期:1989年
RM自2003年起
SR自2006年起

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

尝试分解数组值

$data = array("Designations"=>"CC,RM,SR", "YearsDesignated" => "1989, 2003, 2006");
$array1 = explode(",",$data["Designations"]);
$array2 = explode(",",$data["YearsDesignated"]);
对于标记,尽管不使用特定的库

echo';
foreach($array1作为$offset=>$value){
回声'

“.$value.”自:“.$array2[$offset]”起; } 回声“;
最终,我做了以下工作:

胡须模板:

<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>
最终渲染:

<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>


CIC自1989年起
客户关系管理自2003年起
CSRM自2006年起
生成标记很容易,但最困难的是找到传递图像文件名的方法,您确定不能将它们存储在stanard 40x40px这样的模式中吗。。因此,它可以是相同的所有我想我可以重命名它们,而不使它们的大小像CC-thumb。png这会更容易,尝试使用
explode
分解
$data
by
(逗号)的值获取数组值的分隔符和生成标记的循环将最后一条注释作为答案,我接受。-1是的,您说“虽然没有使用特定的库…”,但这样做并没有回答OP的实际问题,反而可能使他在确定代码时继续不使用模板