Smarty шаблоны, MVC и переменные внутри шаблонов - PullRequest
0 голосов
/ 16 марта 2012

Мне хотелось бы узнать, стоит ли делать подобные вещи во время работы с архитектурой 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, чтобы Вы оставляете шаблоны немного чище.

Так какой подход лучше и почему?

1 Ответ

1 голос
/ 16 марта 2012

Если вы ссылаетесь на class_name как в <a **class="class_name"**>, тогда да, вы должны сгенерировать это в шаблоне smarty, чтобы шаблон мог контролировать, как он должен выглядеть. Если вы ссылаетесь на имя_класса для чего-то другого, например class Class_name, и хотите распечатать это. Тогда нет, он должен оставаться в вашем PHP-коде.

Но все это не лучшие практики, изложенные где-либо или задокументированные, а скорее стандарты компании или предпочтения руководителей. И вы делаете то, что они хотят, если вы хотите, чтобы ваша работа была гладкой и легкой.

...