智能模板、MVC和模板中的变量


Smarty templates, MVC and variables inside templates

我想要的意见是,在使用MVC体系结构时这样做是一种很好的做法:

{foreach from=$items item="list"}
  {if $list.index < 5}
    {assign value="good" var=$class_name}
  {else}
    {if $list.index % 2 eq 1}
      {assign value="bad" var=$class_name}
    {else}
      {assign value="average" var=$class_name}
    {/if}
  {/if}
{/foreach}

或者我应该在php中做这样的事情,然后只访问:

{foreach from=$items item="list"}
  {$list.class_name}
{/foreach}

我问这个问题的原因是,因为我被告知它需要在模板内完成(因为这是样式问题等),但我认为相反,我认为它需要在PHP控制器内完成,这样你就可以让模板更干净一点。

那么,什么是更好的方法呢?为什么?

如果你在<a **class="class_name"**>中引用class_name,那么是的,你应该在smarty模板中生成它,这样模板就可以控制它的外观。如果您将class_name引用到其他class Class_name,并且您想打印出来。那么不,它应该留在PHP代码中。

但所有这些都不是在任何地方陈述或记录的最佳实践,而是更多的公司标准或团队领导偏好。如果你想让你的工作顺利轻松,你就做他们想做的事。