我正在努力弄清楚如何用Mustache.php做一些常见的事情。此时,我正在尝试替换模板中的原生php switch语句。
给出一个"status“标志,例如'A'表示活动,
和一组显示选项,如A => Active, I => Inactive, P=>Pending, D=>Deleted,
如何通过修改模板中的数据在Mustache.php中创建漂亮的显示字符串?
$users = array(
array('username'=>'william', 'status'=>'A', 'date_created'=>'7-01-2012'),
array('username'=>'john', 'status'=>'P', 'date_created'=>'5-17-2012')
);发布于 2013-01-11 01:34:11
Mustache的全部要点是让你的模板从所有逻辑中清理出来。胡子模板应该是无逻辑的。对于新手来说,这是一种完全不同且令人困惑的方法。
要解决您的问题,您需要预先重新处理$users数组,以包含Mustache模板所需的所有内容。例如,如果视图字段switch语句的目的是显示人类可读的状态,那么您的status类应该如下所示:
class View_User {
public $_users;
public function users()
{
$users = array();
foreach ($this->_users as $user)
{
$user->status_label = // Use your 'switch' statement here
$users[] = $user;
}
return $users;
}
}然后你的Mustache模板需要做的就是像这样输出{{status_label}}:
<ul>
{{#users}}
<li>Status: {{status_label}}</li>
{{/users}}
</ul>将您的逻辑包含在视图类中,并保留Mustache模板中的无逻辑。以这种方式分离的UI代码使得以后的维护和重构变得非常容易。
https://stackoverflow.com/questions/12697508
复制相似问题