2012-03-16 111 views
0

我想認爲它是一個很好的做法,做這樣的事情與MVC架構工作時:Smarty模板,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

如果你指的是<a **class="class_name"**>中的class_name,那麼你應該在smarty模板中生成該模板,以便模板控制它的外觀。如果您將class_name引用到其他的class Class_name,並且您想要打印出來。那麼不,它應該留在你的PHP代碼中。

但是,這些都不是最好的實踐或任何地方說明或記錄,但更多的公司標準或團隊潛在客戶偏好。如果你想保持你的工作順利和容易,你做他們想做的。